All vs Any扩展方法:哪个更有效

时间:2016-12-13 01:49:50

标签: c# linq any

今天我遇到了一个名为All的LINQ扩展方法,用于C#中的List数据类型。我根据条件执行的语句很少。我有一个包含几个字符串的列表。在确保我的列表不包含任何空元素或空元素后,我将执行语句。以下是使用AnyAll LINQ扩展方法以两种不同方式执行此操作的方法:

static void Main(string[] args)
{
    List<string> nameList = new List<string> { "foo", "bar","" };
    //way # 1
    if (!nameList.Any(x => string.IsNullOrEmpty(x)))
    {
       //do something here
    }
    //way # 2
    if (nameList.All(x => !string.IsNullOrEmpty(x)))
    {
       //do something here
    }
}

我在这里有两个问题:

  1. 从扩展方法的实施角度来看哪个更有效。
  2. 从清洁代码的角度看哪个看起来更好/更合适?正如鲍勃叔叔所说的那样 - 清洁代码就像写得好的散文一样。

0 个答案:

没有答案