2

我忘记了 C# 语句的语法,我什至不知道名字....

假设您有一个布尔值,将其称为已连接,并且我想根据连接状态设置一些文本。我知道有一个简单的“单行”语句,但我忘记了语法,而且我不知道语句类型的名称,所以我可以用谷歌搜索它。

这与我正在寻找的东西很接近。语法如下所示:

string title = ( connected : "[Not Connected]", "[Connected]");

谢谢!

4

6 回答 6

10

您正在寻找条件运算符

string title = connected ? "[Connected]" : "[Not Connected]";
于 2012-08-13T12:47:51.037 回答
5

它被称为条件/三元运算符

string title = connected ? "[Not Connected]": "[Connected]";

注意真正的条件首先出现,所以在你的例子中它实际上应该是

string title = connected ? "[Connected]": "[Not Connected]";
于 2012-08-13T12:47:38.677 回答
5

我认为您的意思是条件运算符

// Sample changed from original code for sanity
string title = connected ? "[Connected]" : "[Not connected]";

它的专有名称是条件运算符,但您有时会在这里将其称为“三元运算符”。这只是意味着它具有三个操作数(与一元运算符和二元运算符相比) - 它根本没有描述它的作用,应该避免使用 IMO。使用它的正确名称,它描述了它的用途:评估一个条件,然后基于该条件评估另一个表达式。

有关行为等的详细信息,请参阅 C# 4 规范的第 7.14 节。

于 2012-08-13T12:47:51.987 回答
2

听起来您在谈论三元条件运算符

string title = condition ? "on true" : "on false";

请注意,这不是许多人可能认为的“三元运算符”,三元只是意味着有 3 个操作数,您可以在 Wikipedia 上阅读更多内容

在计算机科学中,三元运算符(有时被错误地称为三元运算符)是一个接受三个参数的运算符

于 2012-08-13T12:48:15.150 回答
0

输入条件运算符

var title = connected ?  "Connected" : "Not Connected"
于 2012-08-13T12:48:24.510 回答
0
title= (connected == true) ? "[Connected]" : "[Not Connected]";

或者

title= (connected) ? "[Connected]" : "[Not Connected]";
于 2012-08-13T12:51:09.913 回答