Looking for c# Keywords? Try Ask4Keywords

C# Language Любая и первая (OrDefault) - лучшая практика


пример

Я не буду объяснять, что делает Any и FirstOrDefault , потому что в них уже есть два хороших примера. Для получения дополнительной информации см. Раздел « Все и первый», «FirstOrDefault», «Last», «LastOrDefault», «Single» и «SingleOrDefault» .

Я часто вижу код, который следует избегать ,

if (myEnumerable.Any(t=>t.Foo == "Bob"))
{
    var myFoo = myEnumerable.First(t=>t.Foo == "Bob");
    //Do stuff
}

Его можно было бы написать более эффективно

var myFoo = myEnumerable.FirstOrDefault(t=>t.Foo == "Bob");
if (myFoo != null)
{
    //Do stuff
}

Используя второй пример, коллекция выполняется только один раз и дает тот же результат, что и первый. Та же идея может быть применена к Single .