如果源不为空,则以下语句可以正常工作:
Filters.Selection
.Select(o => new GetInputItem() { ItemID = o.ItemId })
如果“Filters.Selection”为空(显然),它会爆炸。是否有任何可能的方法来编写我自己的扩展方法,如果源为 null,则返回 null,或者如果源不为 null,则执行“Select”函数。
说,类似于以下内容:
var s = Filters.Selection
.MyOwnSelect(o => new GetInputItem() { ItemID = o.ItemId })
如果“Filters.Selection”为空,“s”将为空,否则,“s”将包含使用 LINQ Select 评估的“func”。
这只是为了了解有关 LINQ 扩展/自定义的更多信息。
谢谢。