簡體   English   中英

如何在C#中的2d數組中獲取內部數組的長度?

[英]How do I get the inner array's length in a 2d array in C#?

假設我創建了一個鋸齒狀的二維數組,如下所示:

public static char[,] phoneLetterMapping = { {'0'}, {'1'}, {'A', 'B', 'C'} };

現在,給定數組的第一個索引,我想確定內部數組的長度。

我希望能夠執行以下操作:

phoneLetterMapping[2].length

我可以用Java做到這一點。 但是,當我在[] [] 2d數組的第一個括號中鍵入內容時,Intellisense菜單不會返回該數組的普通成員。

如何在C#中獲取2d數組的內部數組長度?

您發布的聲明甚至不會在C#中編譯,這是您的主要問題。

您已經使用char[,]了一個2D,非鋸齒狀的數組,但是您嘗試通過使用{ {'0'}, {'1'}, {'A', 'B', 'C'} }實例化“ =”右側的鋸齒狀數組{ {'0'}, {'1'}, {'A', 'B', 'C'} }

現在,如果您聲明不同:

public static char[][] phoneLetterMapping = { new[] { '0' }, new[] { '1' }, new[] { 'A', 'B', 'C' } };

然后,您可以簡單地調用以下內容:

phoneLetterMapping[0].Length;

但是,您最初發布的代碼行不會在C#中編譯。

您在尋找GetLength

 phoneLetterMapping.GetLength(dimension)

在C#中,有兩種類型的2d數組:

真正的二維數組和鋸齒狀(數組數組)

在您的情況下,您對2d數組使用了語法,如果要獲取其長度,則需要調用GetLength並指定維。 在您的情況下,它是1(第一個是0),實際上您的代碼將不會編譯,因為您的數組不是矩形的-這對於2d數組是必須的。

如果您想使用鋸齒狀的數組,請參見: http : //msdn.microsoft.com/zh-cn/library/2s05feca.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM