2 차원 시스템을 반환 하는 메서드를 사용 하는 방법.배열(문자열이 아닌[,])
-
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
컴파일 타임에?아마도 일반적인 매개 변수를 만들 것입니다.
당신의 과도한 문제에:
그러나 문자열 배열은 다음과 같습니다.일(...,......);해당 함수의 반환 배열로 채워지지 않습니다.
이 문제가 발생하는 코드를 게시하지 않는 한 우리는 문제의 그 부분에 당신을 도울 수 없습니다.그것은 마이클래스 인스턴스처럼 보인다.작업은 사용자가 만든 배열 인스턴스를 반환하지 않습니다.그러나 버그가 있는 코드를 표시하지 않는 한 나는 그것이 어디에 있는지 말할 수 없습니다.