Gibt null anstelle des Standardwerts in LINQ zurück

9

Ich habe eine LINQ-Abfrage, die einen DateTime-Wert abrufen muss. Irgendwann habe ich keine Übereinstimmung für und ich muss NULL für diesen DateTime-Wert anstatt Standardwert für DateTime zurückgeben.

Wie kann ich das vermeiden und NULL anstatt defaul Wert zurückgeben?

Mein LINQ:

%Vor%

In DefaultIfEmpty kann ich nur DateTime setzen.

    
kat1330 28.08.2014, 00:54
quelle

3 Antworten

8

Wirf es in DateTime? , was dazu führt, dass DefaultIfEmpty eine Standardkollektion erstellt, die einen Nullwert enthält, wenn die Sammlung leer ist.

%Vor%

PS: Der DefaultIfEmpty kann weggelassen werden, da er von FirstOrDefault gefolgt wird.

    
Yuliam Chandra 28.08.2014, 00:59
quelle
8

Sie könnten in eine Nullable<DateTime> .

%Vor%

... und gibt ihm einen Standardwert von null .

    
canon 28.08.2014 00:59
quelle
3

Alternative Syntax ... bekomme das First Element wenn Any existiert; Ansonsten verwende null :

%Vor%     
Grant Winney 28.08.2014 01:06
quelle

Tags und Links