Teh*_*ate 1 c# ternary-operator
if (msg.Body.Contains("logging"))
{
enableLogs = !enableLogs;
sendMsg(enableLogs == true ? "Logging enabled." : "Logging disabled.");
}
else if (msg.Body.Contains("afk"))
{
}
Run Code Online (Sandbox Code Playgroud)
我怎么会把它变成三元if声明呢?没有必要,如果它不会很好,试图让我的程序更清洁.
三元语句严格用于赋值,而不是用于else-if多决策逻辑.它只有在两个逻辑路径都返回一个类型的实例时才有效.:)
var result = booleanValue ? logicPathForTrue : logicPathForFalse;
Run Code Online (Sandbox Code Playgroud)
使用三元的"好"(学术):
// Assign something to result. If something is null, assign new Something to result
Something result = something == null ? new Something() : something;
Run Code Online (Sandbox Code Playgroud)
三元运算需要变量赋值.这编译:
var something = true ? new object() : null;
Run Code Online (Sandbox Code Playgroud)
这不编译:
true ? new object() : null;
Run Code Online (Sandbox Code Playgroud)