我忘记了C#语句的语法,我甚至不知道名字......
假设你有一个布尔值,调用它连接,我想根据连接状态设置一些文本。我知道有一个简单的“单线”声明,但我忘了语法,我不知道声明类型的名称,所以我可以谷歌搜索它。
这里有一些接近我正在寻找的东西。语法如下所示:
string title = ( connected : "[Not Connected]", "[Connected]");
谢谢!
答案 0 :(得分:10)
您正在寻找conditional operator:
string title = connected ? "[Connected]" : "[Not Connected]";
答案 1 :(得分:5)
它被称为Conditional/ternary operator
string title = connected ? "[Not Connected]": "[Connected]";
注意真实情况首先出现,所以在你的例子中它应该是
string title = connected ? "[Connected]": "[Not Connected]";
答案 2 :(得分:5)
我认为你的意思是conditional operator:
// Sample changed from original code for sanity
string title = connected ? "[Connected]" : "[Not connected]";
它的正确名称是条件运算符,但有时候你会把它称为"三元运算符"。那个只是意味着它有三个操作数(与一元运算符和二元运算符相比) - 它根本没有描述做什么,应该避免使用IMO。使用其正确的名称,该名称描述了它的用途:评估条件,然后根据该条件评估另一个表达式。
有关行为等的详细信息,请参阅C#4规范的第7.14节。
答案 3 :(得分:2)
听起来你在谈论三元 - conditional operator。
string title = condition ? "on true" : "on false";
请注意,这不是许多人可能认为的“三元运算符”,三元只是意味着有3个操作数,你可以read more on Wikipedia。
在计算机科学中,三元运算符(有时被错误地称为第三运算符)是一个带三个参数的运算符
答案 4 :(得分:0)
var title = connected ? "Connected" : "Not Connected"
答案 5 :(得分:0)
title= (connected == true) ? "[Connected]" : "[Not Connected]";
或
title= (connected) ? "[Connected]" : "[Not Connected]";