반응형
다차원 배열의 너비와 높이를 어떻게 얻습니까?
배열이 정의되어 있습니다.
int [,] ary;
// ...
int nArea = ary.Length; // x*y or total area
이것은 모두 좋고 훌륭하지만이 배열의 너비 x
와 y
크기가 개별적으로 얼마나 넓은 지 알아야합니다 . 즉, ary.Length
12를 반환 할 수 있지만 배열이 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]);
}
반응형
'Programming' 카테고리의 다른 글
C ++과 Java에서 "일반"유형의 차이점은 무엇입니까? (0) | 2020.06.12 |
---|---|
jquery check 버튼으로 모든 확인란을 선택 취소하십시오. (0) | 2020.06.12 |
반응 양식의 소품 변경 상태 업데이트 (0) | 2020.06.12 |
한 Datatable에서 다른 DataTable로 행을 복사 하시겠습니까? (0) | 2020.06.12 |
함수 선언은 프로토 타입이 아닙니다 (0) | 2020.06.12 |