2010-01-11 103 views

Trả lời

56

GetLength lấy một số nguyên chỉ định thứ nguyên của mảng mà bạn đang truy vấn và trả về độ dài của mảng đó. Length tài sản trả về tổng số các mặt hàng trong một mảng: mảng

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

Và trên mảng một chiều 'Length' sẽ trả về giá trị giống như 'getLength (0)'. –

+1

Tại sao a.GetLength (2) 11 và không phải là 12? –

+4

@Mike: Nguyên nhân 1 và 2 là một phím duy nhất. –

12

Đối với 1 chiều LengthGetLength(0) là giống hệt nhau.

Đối với các mảng có thứ hạng cao hơn Length là sản phẩm của tất cả các giá trị GetLength(0..Rank-1), nói cách khác, nó luôn là tổng số trường.

+0

int [] testArray = {1, 2, 3, 4} là testArray.GetLength (1) đúng không? –

+0

Không. Nên là 'testArray.GetLength (0)'. –

+1

divo, "mảng lởm chởm" là mảng mảng, tại mỗi cấp bậc == 1. Chúng không phải là đa chiều theo cùng một cách. –

3

GetLength trả về độ dài của một thứ nguyên được chỉ định của mảng mulit-chiều.

Độ dài trả về tổng của tổng số phần tử trong tất cả các thứ nguyên.

  • Đối với một mảng đơn chiều, Chiều dài == getLength (0)
  • Đối với một mảng hai chiều, Chiều dài == getLength (0) * getLength (1)

, vv

+1

Không hoàn toàn đúng: Hai mảng chiều: Độ dài = GetLength (0) * GetLength (1) –

+1

Đó là một lỗi đánh máy thông minh! Làm cách nào tôi quản lý để chuyển đổi + và *?! (đã sửa) –

0

Trong thuật ngữ toán học, chúng tôi gọi là m hàng và n cột, do đó kết quả là sản phẩm của m * n cho mảng hai chiều. Trong trường hợp này, GetLength(0) = m hàng và GetLength(1)= n cột. Đối với ví dụ xem dưới đây ví dụ

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

Các cổ phiếu mảng trở GetLength(0)= 4GetLength(1)=3length =12

Các vấn đề liên quan