[c#] 2 차원 문자열 배열을 어떻게 선언 할 수 있습니까?

string[][] Tablero = new string[3][3];

정보를 저장하려면 3×3 배열이 필요합니다. 이것을 C #으로 어떻게 선언합니까?



답변

string[,] Tablero = new string[3,3];

다음과 같이 배열 이니셜 라이저 구문을 사용하여 동일한 행에서 인스턴스화 할 수도 있습니다.

string[,] Tablero = new string[3, 3] {{"a","b","c"},
                                      {"d","e","f"},
                                      {"g","h","i"} };


답변

아마도 이것을 원할 것입니다.

string[,] Tablero = new string[3,3];

이렇게하면 모든 행의 길이가 같은 행렬과 같은 배열이 생성됩니다.

샘플의 배열은 소위 들쭉날쭉 한 배열입니다 . 즉, 요소의 크기가 다를 수있는 배열의 배열입니다. 들쭉날쭉 한 배열은 다른 방법으로 만들어야합니다.

string[][] Tablero = new string[3][];
for (int i = 0; i < Tablero.GetLength(0); i++)
{
    Tablero[i] = new string[3];
}

이니셜 라이저를 사용하여 배열 요소를 데이터로 채울 수도 있습니다.

string[,] Tablero = new string[,]
{
    {"1.1","1.2", "1.3"},
    {"2.1","2.2", "2.3"},
    {"3.1", "3.2", "3.3"}
};

그리고 들쭉날쭉 한 배열의 경우 :

string[][] Tablero = new string[][]
{
    new string[] {"1.1","1.2", "1.3"},
    new string[] {"2.1","2.2", "2.3"},
    new string[] {"3.1", "3.2", "3.3"}
};


답변

방금 들쭉날쭉 한 배열을 선언했습니다. 이러한 종류의 배열은 모든 차원에 대해 다른 크기를 가질 수 있습니다. 예를 들면 :

string[][] jaggedStrings =  {
new string[] {"x","y","z"},
new string[] {"x","y"},
new string[] {"x"}
};

귀하의 경우에는 일반 배열이 필요합니다. 위의 답변을 참조하십시오.
들쭉날쭉 한 배열에 대한 추가 정보


답변

나는 당신이 이것을 찾고 있다고 가정합니다.

        string[,] Tablero = new string[3,3];

가변 배열의 구문은 다음과 같습니다.

        string[][] Tablero = new string[3][];
        for (int ix = 0; ix < 3; ++ix) {
            Tablero[ix] = new string[3];
        }


답변

C #에는 Multidimensional및 라는 두 가지 유형의 다차원 배열이 Jagged있습니다.

다차원의 경우 다음을 수행 할 수 있습니다.

string [,] multi = 새 문자열 [3, 3];

들쭉날쭉 한 배열의 경우 약간 더 많은 코드를 작성해야합니다.

string[][] jagged = new string[3][];
            for (int i = 0; i < jagged.Length; i++)
            {
                jagged[i] = new string[3];
            }

짧게 들쭉날쭉 한 배열은 더 빠르고 직관적 인 구문을 가지고 있습니다. 자세한 내용은 이 Stackoverflow 질문을 참조하세요.


답변

이 시도 :

string[,] myArray = new string[3,3];

http://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx 에서 살펴보십시오 .


답변

string[,] Tablero = new string[3,3];