2010-03-06 35 views
16

一個數組被定義爲假設的元素,就像我有數組像String [] strArray = new String [50];數組有多少個元素不爲null?

現在從50個元素中只分配了一些元素,剩下的元素留空了,我想要分配元素的數量。

像這裏一樣,只有30個元素被分配,然後我想要那個數字。

回答

27

您可以使用Enumerable.Count

string[] strArray = new string[50]; 
... 
int result = strArray.Count(s => s != null); 

extension method遍歷數組,並計算元素的數量指定的謂詞適用於。

+0

在這裏,我不能得到像strArray這樣的數組的計數屬性... – Harikrishna 2010-03-06 09:09:27

+1

代碼使用LINQ。您需要在源文件的頂部添加'using System.Linq;'以使LINQ擴展方法可見。 – dtb 2010-03-06 09:28:31

+0

是否像每次檢查strArray的每個元素一樣,它在for循環中是否爲null? – Harikrishna 2010-03-06 09:38:14

7

使用LINQ,你可以嘗試

int count = strArray.Count(x => x != null); 
+1

你打我5.37秒:)但OP是否想要null或非null元素? – slugster 2010-03-06 07:42:27

+0

真的,對不起,修好了。 – 2010-03-06 07:43:34

+0

@AstanderSir ..謝謝.... – Harikrishna 2010-03-06 12:08:07

1

使用LINQ:

int i = (from s in strArray where !string.IsNullOrEmpty(s) select s).Count(); 
+0

@slugster總是搖滾! :) – BreakHead 2010-03-06 07:48:10

+0

嗯謝謝?!?!其他人比我有更簡潔的答案。 – slugster 2010-03-06 11:18:08

+0

好的答案謝謝... – Harikrishna 2010-03-08 04:40:49

相關問題