Sie müssen nicht überprüfen, ob selectedRows
null
ist. Die zurückgegebene IEnumerable<>
ist möglicherweise leer, aber niemals null
.
Abgesehen davon würde ich vorschlagen, dass Sie Ihren Code vereinfachen, indem Sie schreiben:
%Vor%Was kürzer und gleichwertig ist.
Mein anfängliches Gefühl ist nein, das tust du nicht, aber es kann sicherlich nicht schaden.
Ich habe, glaube ich, Phil Haack, eine nützliche Erweiterungsmethode, die prüft, ob IEnumerable
null oder leer ist ...
.Any()
ist viel effizienter für die Überprüfung, wenn nicht leer als .Count()
Linq wird NULL nicht zurückholen. Wenn Sie überprüfen möchten, ob einige Daten vorhanden sind, können Sie Any ()
verwenden %Vor%In Ihrem Beispiel werden Sie die Erweiterungsmethode verwenden. Wenn Sie jedoch Ihre eigene Methode implementieren, die ein IEnumerable zurückgibt, hängt die Antwort davon ab, wie Sie Ihr Ergebnis zurückgeben.
Die folgende Methode gibt ein leeres Aufzählungszeichen zurück:
%Vor%Die folgende Methode gibt nur null zurück:
%Vor%Der Aufruf dieser Methoden führt zu folgenden Ergebnissen:
%Vor%Seien Sie also vorsichtig, wenn Sie IEnumerable zurückgeben. Versuchen Sie, das Schlüsselwort yield zu verwenden und dem richtigen Muster zu folgen.
Tags und Links .net c# linq linq-to-objects