Si dovrebbe evitare di utilizzare il metodo Count()
come un modo per controllare se una sequenza è vuota o non. Phil Haack ha an excellent article on his blog dove parla di questo antipattern.
Count()
devono effettivamente elencare tutti gli elementi della sequenza, che possono essere costosi se la sequenza è basata su più operazioni LINQ (o proviene da un database).
Dovresti utilizzare il metodo di estensione Any()
, che tenta solo di vedere se c'è almeno un elemento nell'elenco, ma non enumererà l'intera sequenza.
if(!LinqResult.Any())
{
// your code
}
Personalmente, penso anche che l'uso di Any()
piuttosto che Count()
meglio esprime il vostro intento, ed è più facile di refactoring o modificare in modo affidabile in futuro.
A proposito, se quello che effettivamente si desidera è il primo (o solo) membro della sequenza, è necessario utilizzare gli operatori First()
o Single()
.
Perché ti stai prendendo la briga di cercare i ninja? Supponi di non poterne trovare nessuno. Mai. – dlras2