Все против любого метода расширения: который более эффективен

Сегодня я наткнулся на метод расширения LINQ с именем All для типа данных List в C#. У меня есть несколько заявлений для выполнения на основе условия. У меня есть список, содержащий несколько строк. Я выполню операторы, убедившись, что в моем списке нет пустых или пустых элементов. Вот как я могу сделать это двумя разными способами, используя Any или же All Методы расширения 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 ответов

Другие вопросы по тегам