2 차원 시스템을 반환 하는 메서드를 사용 하는 방법.배열(문자열이 아닌[,])

StackOverflow https://stackoverflow.com/questions/4982884

  •  13-11-2019
  •  | 
  •  

문제

나는 다음과 같은 라인을 사용하고 있습니다:

Array stringArray = Array.CreateInstance(typeof(String), 2, 2);

2 차원 시스템을 반환하는 메서드를 사용합니다.내 배열 스트링가레이 변수그러나 문자열 배열은 다음과 같습니다.일(...,......);해당 함수의 반환 배열로 채워지지 않습니다.

내 컬렉션 변수를 2 차원 시스템을 반환하는 메서드의 반환 값에 할당 할 수 있도록 어떻게 정의해야합니까?배열 문자열 배열 값?

감사합니다

도움이 되었습니까?

해결책

Array.CreateInstance 반환합니다 Array, 지 않고,그것의 치수와 길이를 지정한다(그러나 어쨌든 그 System.Array 는 기본 클래스의 모든 배열 C#).대부분의 상황에서 반열에서 방법은 다음과 같:

public string[] MyMethod()
{
}
public int[,] Another(int something)
{
}

string[] theStringResult = MyMethod();
int[,] theIntResult = Another(1);

다른 팁

당신의 2 차원 배열에:

Array.CreateInstance(typeof(String), 2, 2);

이것은 string[,] 캐스팅 Array.그것은 동일합니다 (Array)(new string[2,2]).그래서 당신은 그것을 캐스팅 할 수 있습니다 string[,] 당신이 원하는 경우.

그런데 왜 어쨌든 그것을 사용하고 싶습니까?당신은 단지 사용할 수 없습니다 string[,] 대신?당신은 요소 유형이 string 컴파일 타임에?아마도 일반적인 매개 변수를 만들 것입니다.

당신의 과도한 문제에:

그러나 문자열 배열은 다음과 같습니다.일(...,......);해당 함수의 반환 배열로 채워지지 않습니다.

이 문제가 발생하는 코드를 게시하지 않는 한 우리는 문제의 그 부분에 당신을 도울 수 없습니다.그것은 마이클래스 인스턴스처럼 보인다.작업은 사용자가 만든 배열 인스턴스를 반환하지 않습니다.그러나 버그가 있는 코드를 표시하지 않는 한 나는 그것이 어디에 있는지 말할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top