Programming

다차원 배열의 너비와 높이를 어떻게 얻습니까?

procodes 2020. 6. 12. 22:53
반응형

다차원 배열의 너비와 높이를 어떻게 얻습니까?


배열이 정의되어 있습니다.

int [,] ary;
// ...
int nArea = ary.Length; // x*y or total area

이것은 모두 좋고 훌륭하지만이 배열의 너비 xy크기가 개별적으로 얼마나 넓은 지 알아야합니다 . 즉, ary.Length12를 반환 할 수 있지만 배열이 4 높이와 3 너비 또는 6 높이와 2 너비라는 것을 의미합니까?

이 정보를 어떻게 검색 할 수 있습니까?


검색하려는 차원의 인덱스와 함께 Array.GetLength사용 합니다.


길이 대신 GetLength ()를 사용하십시오.

int rowsOrHeight = ary.GetLength(0);
int colsOrWidth = ary.GetLength(1);

// Two-dimensional GetLength example.
int[,] two = new int[5, 10];
Console.WriteLine(two.GetLength(0)); // Writes 5
Console.WriteLine(two.GetLength(1)); // Writes 10

ary.GetLength(0) 
ary.GetLength(1)

2 차원 배열 용


다른 게시물 중 일부는 어떤 차원이 어떤 것인지 혼동합니다. 다음은 C #에서 2D 배열의 작동 방식을 보여주는 NUNIT 테스트입니다.

[Test]
public void ArraysAreRowMajor()
{
    var myArray = new int[2,3]
        {
            {1, 2, 3},
            {4, 5, 6}
        };

    int rows = myArray.GetLength(0);
    int columns = myArray.GetLength(1);
    Assert.AreEqual(2,rows);
    Assert.AreEqual(3,columns);
    Assert.AreEqual(1,myArray[0,0]);
    Assert.AreEqual(2,myArray[0,1]);
    Assert.AreEqual(3,myArray[0,2]);
    Assert.AreEqual(4,myArray[1,0]);
    Assert.AreEqual(5,myArray[1,1]);
    Assert.AreEqual(6,myArray[1,2]);
}

참고 URL : https://stackoverflow.com/questions/4260207/how-do-you-get-the-width-and-height-of-a-multi-dimensional-array

반응형