数组有多少元素不为空?
Posted
技术标签:
【中文标题】数组有多少元素不为空?【英文标题】:How many elements of array are not null? 【发布时间】:2011-01-24 09:44:57 【问题描述】:一个数组是由假定的元素定义的,比如我有像 String[] strArray = new String[50]; 这样的数组。
现在从 50 个元素中只分配了一些元素,其余元素为空,然后我想要分配元素的数量。
像这里一样只分配了 30 个元素,然后我想要那个数字。
【问题讨论】:
【参考方案1】:你可以使用Enumerable.Count:
string[] strArray = new string[50];
...
int result = strArray.Count(s => s != null);
此extension method 迭代数组并计算指定谓词适用的元素数。
【讨论】:
代码使用 LINQ。您需要在源文件顶部添加using System.Linq;
以使 LINQ 扩展方法可见。
在 for 循环中每次检查 strArray 的每个元素是否为 null 是否一样?
要“正确拟合”数组以仅包含那些分配的元素,我发现 this 很有帮助。【参考方案2】:
使用LINQ你可以试试
int count = strArray.Count(x => x != null);
【讨论】:
你打败了我的 5.37 秒 :) 但是 OP 想要空元素还是非空元素?【参考方案3】:使用 LINQ:
int i = (from s in strArray where !string.IsNullOrEmpty(s) select s).Count();
【讨论】:
嗯嗯谢谢?!?!其他人的答案比我更简洁。以上是关于数组有多少元素不为空?的主要内容,如果未能解决你的问题,请参考以下文章