if(someBoolTest()) dothis()
else dothat();


要不就

if(someBoolTest()) dothis();


做这样的事情不是很好:

someBoolTest() => {dothis(),dothat()}


要么

someBoolTest() => dothis()


这是用其他语言完成的吗?
我们如何在C#中做到这一点?
(我认为我们不能,那么为什么不呢?)

编辑:
我知道三元运算,但这并不能使它看起来更好。与代表一起使用某种形式的lambda可以很好地实现这一点。

最佳答案

我们如何在C#中做到这一点?


就像在示例中一样,使用if-else子句。

您可以发挥创造力,并创建以下内容:

(SomeBoolTest() ? (Action)DoThis : DoThat)();


但这是非常不可读的代码,请不要那样做。

09-19 01:37