C# 如果有,请使用&&检查多个类似条件

C# 如果有,请使用&&检查多个类似条件,c#,if-statement,C#,If Statement,行有许多列,其中一些是列表中的。我只需要检查列表类型列的以下内容: if(row.columm1.Count == 0 && row.column2.Count == 0 && row.column3.Count == 0 && row.column4.Count ==0) { //do something } 如何缩短if语句有很多方法可以改变它。最简单的可能是: if(row.Columns.

行有许多列,其中一些是列表中的。我只需要检查列表类型列的以下内容:

if(row.columm1.Count == 0 
      && row.column2.Count == 0 
      && row.column3.Count == 0 
      && row.column4.Count ==0)
{
    //do something
}

如何缩短if语句有很多方法可以改变它。最简单的可能是:

if(row.Columns.All(col => col.Count == 0)){
    // do something
}
你也可以试试Sum


为什么有两个相同的if语句?将它们放入数组或列表中,或作为参数传递给方法。然后list.Allz=>z==0。或者,如果它们都不能为负,请检查zeroUse反射的总和,以查找名称为columnX的list类型的所有字段,并在每个字段上调用属性计数。然后使用list.AllI我想你的意思是。不是全部吗?我想我会接受这个答案,尽管它确实稍微模糊了你要查找的内容:其他阅读代码的人可能会看到它将所有列值相加,而不是检查每个列的非零值,然后停止。否则,简单的回答很好,不过很抱歉这么挑剔:@Kjartan,是的,我完全同意你的看法,我只是作为所有人的替代回答。我想在这里补充一点,All比Sum有效,因为每当All的条件失败时,它就不会对其余的元素进行迭代。但Sum将存储所有计数的加法,然后进行检查condition@Kjartan,我在评论中补充道,为什么所有的方法都比总和有效。
//This will add count of Columns then it will check with 0
if(row.Columns.Sum(col => col.Count) == 0)
{
   //Your business logic
}