2014-01-19 51 views
0

我有一個數組,並且正在嘗試提取vlaues。我試圖找到數組的長度,但由於數組並不總是滿,所以.length不適用於我。我如何計算出數組中存儲了多少個值?如何查找數組中的值數量

繼承人的代碼; int length = numbers.Length;

我已經在代碼的主要部分中創建了數組,我正在嘗試使用for循環來創建一個可以從代碼中獲取值的函數。 EG INT數(i)=號碼[I]

使得可變數目[Ⅰ]將成爲產品數,然後分配了陣列的第一行中的值

+7

能否請您出示完整的相關代碼?順便說一下,正確的屬性是'.Length'而不是'.length'。 –

+0

值的類型是什麼 –

+2

數組總是已滿。即初始化一個int數組會得到一個用零填充的數組。 –

回答

0

嘗試foreach不需要長度。這裏是代碼:

int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9}; 
foreach (int element in numbers) 
{ 
    System.Console.WriteLine(element); 
} 
1

如果你想使用陣列中,不總是滿的,那麼你絕對應該使用List<T>代替陣列,因爲列表可以包含可變數量的項目。對於數組,您永遠無法知道默認值(整數爲零)是否分配給了數組項,或者項目根本沒有分配。獲取列表項數量看起來像list.Count

當然,你可以得到的具有非默認值陣列項目數量(但見上爲什麼它可能是不好的做法):

int[] array = { 1, 2, 0, 1, 5 }; 
int count = array.Count(i => i != default(int)); // 4