如何使用这个if语句的三元组?

时间:2014-05-01 21:26:25

标签: c# ternary-operator

if (msg.Body.Contains("logging"))
{
    enableLogs = !enableLogs;
    sendMsg(enableLogs == true ? "Logging enabled." : "Logging disabled.");
}
else if (msg.Body.Contains("afk"))
{

}

我如何将其变成三元if语句?没有必要,如果它不能很好地工作,试图让我的程序更清洁。

1 个答案:

答案 0 :(得分:6)

三元语句严格用于分配,而不是else-if或多决策逻辑。它仅在两个逻辑路径都返回类型的实例时才有效。 :)

var result = booleanValue ? logicPathForTrue : logicPathForFalse;

A" good" (学术)使用三元:

// Assign something to result. If something is null, assign new Something to result
Something result = something == null ? new Something() : something;

三元操作需要变量赋值。这编译:

var something = true ? new object() : null;

这不会编译:

true ? new object() : null;