2016-08-18 68 views
0

这里是一段代码:LINQ的+单线路条件

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

我想,如果MyMethodReturningObject返回一个对象,我分配的返回值给TheValue。

有点像这样:

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

但是,如果没有调用该方法的两倍。

这可能通过Linq?

谢谢!

回答

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

是的,这可以检查一个对象是否为空!非常感谢你! – Cratebox99