gpt4 book ai didi

c# - 这个结构可能有三元表达式吗?

转载 作者:行者123 更新时间:2023-11-30 13:07:36 26 4
gpt4 key购买 nike

我不确定下面的语句是否可以写成一行(即 ternary 形式)。

if (A == B)
FunctionA();
else
FunctionB();

FunctionA 和 FunctionB 都是 void 类型。

最佳答案

没有。条件运算符仅对 非 void 表达式有效。重点是评估两个表达式之一,并将其​​作为结果。

基本上:编写if 语句。这是执行一个操作或另一个的惯用方式。

可以编写这样的扩展方法:

// For demonstration purposes only. Please don't use in real life.
public static void Conditional(this bool result,
Action trueAction,
Action falseAction)
{
Action action = result ? trueAction : falseAction;
action();
}

然后:

(A == B).Conditional(FunctionA, FunctionB);

...但我强烈建议您不要这样做。

关于c# - 这个结构可能有三元表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12959410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com