Wie behandelt man keine Ergebnisse in LINQ?

8

in diesem Beispielcode

%Vor%

Wie soll ich mit keine Daten in cmps umgehen?

cmps ist niemals null . Wie kann ich also nach nicht vorhandenen Daten in einer LINQ-Abfrage suchen?

damit ich das vermeiden kann

%Vor%

bei der Umwandlung in beispielsweise eine Liste

%Vor%

Muss ich immer in einen try catch -Block einbinden?

    
balexandre 07.10.2010, 18:32
quelle

5 Antworten

15

Sie können Queryable.Any () (oder < a href="http://msdn.microsoft.com/en-us/library/bb337697.aspx"> Enumerable.Any () ), um festzustellen, ob ein Mitglied in cmps vorhanden ist. Dies würde Ihnen erlauben, explizit zu prüfen, und behandeln Sie es wie Sie wollen.

Wenn Sie null nur zurückgeben möchten, wenn keine Übereinstimmungen vorhanden sind, verwenden Sie einfach FirstOrDefault anstelle von First in Ihrer Return-Anweisung:

%Vor%     
Reed Copsey 07.10.2010, 18:37
quelle
5

Was ist mit der Anwendung von .Any oder .Count ()?

Hier ist ein Beispiel für MSDN

%Vor%

Oder verwenden Sie einfach den Operator?:

%Vor%     
JonH 07.10.2010 18:36
quelle
2

Dies gibt die erste zurück, wenn es eine gibt, oder null, falls nicht:

%Vor%     
MStodd 07.10.2010 18:42
quelle
1

Versuchen Sie return cmps.Count()==0?null:cmp.First()

Auf diese Weise gibt es, wenn es null ist, einfach eine Null-Firma zurück und wenn nicht, gibt es die erste in der Liste zurück.

Besuche Ссылка

    
Gage 07.10.2010 18:36
quelle
0
%Vor%     
rwg 08.02.2013 22:22
quelle

Tags und Links