if(someBoolTest()) dothis()
else dothat();
要不就
if(someBoolTest()) dothis();
做这样的事情不是很好:
someBoolTest() => {dothis(),dothat()}
要么
someBoolTest() => dothis()
这是用其他语言完成的吗?
我们如何在C#中做到这一点?
(我认为我们不能,那么为什么不呢?)
编辑:
我知道三元运算,但这并不能使它看起来更好。与代表一起使用某种形式的lambda可以很好地实现这一点。
最佳答案
我们如何在C#中做到这一点?
就像在示例中一样,使用if-else
子句。
您可以发挥创造力,并创建以下内容:
(SomeBoolTest() ? (Action)DoThis : DoThat)();
但这是非常不可读的代码,请不要那样做。