我现在有一个方法可以循环遍历业务对象列表(属性 Properties)以测试属性 SerialNumber
是否为序列号。如果找到序列号,则退出循环并返回 true,否则返回 false。
代码如下:
public bool HasSerialNumber()
{
if (this.Properties != null && this.Properties.Count > 0)
{
foreach (var property in Properties)
{
if (!string.IsNullOrEmpty(property.SerialNumber))
return true;
}
}
return false;
}
对此有更好的 LINQ 方法吗?
我有以下想法:
return Properties.Where(x => !string.IsNullOrEmpty(x.SerialNumber)).ToList().Count > 0;
是否有更好/更快的方法来检查非空字符串?
最佳答案
您可以使用 Any
而不是检查计数是否大于零。
return Properties.Any(x => !string.IsNullOrEmpty(x.SerialNumber))
当然,您的 Properties.Count > 0
检查是多余的。
关于c# - 此代码的 LINQ 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3449351/