【发布时间】:2019-03-23 23:03:23
【问题描述】:
我发现自己经常做以下类型的 sn-ps
if(bar != null)
foo(bar) // That is, pass in object 'bar' to function 'foo' if bar is not null
编辑: foo 函数来自 API,我无权访问它的代码。本质上,API 的函数需要一个非空输入。
有没有更简洁的 C# 方法来做到这一点?或者如果我发现自己经常这样做,我是否在做一些架构上不正确的事情?
抱歉,如果这是重复,我似乎找不到合适的搜索词。
我曾尝试使用新的合并运算符来实现这一点,但它不能用于调用函数。不确定是否可以使用三元运算符来实现这一点。
我希望有一种方法可以做到这一点。有点像
bar ?? foo(bar) // That is run foo with bar when bar is not null.
【问题讨论】:
-
“if/else”语句有什么“不干净”的地方?!?
-
有一个更简洁的方法,尝试使用聚合函数,如
TrueForAll(array, predicate)与集合,或尝试 LINQ。
标签: c# function syntax parameters conditional