2010-01-11 17 views

Odpowiedz

56

GetLength pobiera liczbę całkowitą, która określa wymiar tablicy, której dotyczy zapytanie, i zwraca jej długość. Length właściwość zwraca całkowitą liczbę elementów w tablicy: tablice

int[,,] a = new int[10,11,12]; 
Console.WriteLine(a.Length);   // 1320 
Console.WriteLine(a.GetLength(0));  // 10 
Console.WriteLine(a.GetLength(1));  // 11 
Console.WriteLine(a.GetLength(2));  // 12 
+12

oraz na tablicach jednowymiarowych 'Length' powróci taką samą wartość jak' GetLength (0) '. –

+1

Dlaczego a.GetLength (2) 11, a nie 12? –

+4

@Mike: Przyczyna 1 i 2 są oddalone o jeden klucz. –

12

Dla 1-wymiarowe Length i GetLength(0) są dokładnie takie same.

Dla tablic wyższej rangi Length to iloczyn wszystkich wartości GetLength(0..Rank-1), czyli zawsze jest to całkowita liczba pól.

+0

int [] testArray = {1, 2, 3, 4} czy testArray.GetLength (1) jest poprawny? –

+0

Nie. Powinien mieć wartość "testArray.GetLength (0)". –

+1

divo, "poszarpane tablice" są tablicami tablic, na każdym poziomie rangi == 1. Nie są one wielowymiarowe w ten sam sposób. –

3

GetLength zwraca długość określonego wymiaru tablicy wielowymiarowej.

Długość zwraca sumę całkowitej liczby elementów we wszystkich wymiarach.

  • przypadku pojedynczego jednowymiarowej tablicy, długość == GetLength (0)
  • Dla tablicy dwuwymiarowej, długość == GetLength (0) * GetLength (1)

etc.

+1

Nie do końca prawda: tablice dwuwymiarowe: długość = długość (GetLength) (0) * długość (1) –

+1

To sprytna literówka! Jak udało mi się przetransponować + i *?! (naprawiony) –

0

W terminach matematycznych nazywamy je m wierszami i n kolumnami, więc wynikiem jest iloczyn m * n dla tablicy dwuwymiarowej. W tym przypadku kolumny: GetLength(0) = m i kolumny . Na przykład patrz niżej przykład

string[,] stocks ={{"RELIND","Reliance Industries","1006.30"},{"TATMOB","Tata Mobiles","504.10"},{"ALST","Allstate","800.00"}, {"GE","GE Motors","810.00"} 
}; 

Macierze zapasy powrócić GetLength(0)= 4 i GetLength(1)=3 i length =12

Powiązane problemy