2016-08-18 1 views
0

Hier ist ein Stück Code:Linq + Einzeiliger Zustand

var test = myListOfItems.Select(x => MyMethodReturningObject(x.SubItems) != null ? theValue : x.SubItems[0]) 

Ich möchte, dass, wenn MyMethodReturningObject ein Objekt zurückgibt, ich den Rückgabewert theValue zuweisen.

Ein bisschen wie folgt aus:

var test = myListOfItems.Select(x => MyFunctionReturningObject(x.SubItems) != null ? MyMethodReturningObject(x.SubItems): x.SubItems[0]) 

Aber ohne die Methode zweimal aufrufen.

Ist dies über Linq möglich?

Vielen Dank!

Antwort

3
var test = myListOfItems.Select(x => MyFunctionReturningObject(x.SubItems) ?? x.SubItems[0]) 
+0

Ja, das funktioniert, um zu prüfen, ob ein Objekt null ist! Vielen Dank! – Cratebox99

Verwandte Themen