c# - 通过示例学习 - 术语(?,:, 等)

标签 c# operators terminology ternary-operator

当你还是个 child 的时候,你有没有问过你的 parent 如何拼写一些东西,他们让你去查一下?我的第一印象总是,“好吧,如果能查一下,我就不需要帮助拼写了”。 (是的是的我知道语音)

...无论如何,我只是在看一些代码,我发现了一个例子:

 txtbx.CharacterCasing = (checkbox.Checked) ? CharacterCasing.Upper : CharacterCasing.Normal;

我可以弄清楚这个操作的作用,但显然,我不能用谷歌搜索 ?或 : 我在搜索“c# 运算符”、LINQ、Lambda 表达式等时找不到它们。所以我不得不问这个愚蠢的问题,这样我才能开始阅读它。

这些运算符是什么?

最佳答案

?:conditional operator ,最好的方法就是在这里提问!

condition ? first_expression : second_expression;

If condition is true, first expression is evaluated and becomes the result; if false, the second expression is evaluated and becomes the result. Only one of two expressions is ever evaluated.

当整个表达式相对较短时,它对赋值的可读性非常有帮助:

string name = string.IsNullOrEmpty(user.Nickname) ? user.Fullname : user.Nickname

比:

更容易和更快:
string name = user.Fullname;
if(!string.IsNullOrEmpty(user.Nickname))
{
    name = user.Nickname;
}

关于c# - 通过示例学习 - 术语(?,:, 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1590506/

相关文章:

c# - 避免 datagridview 的按钮点击/控件;自动显示

c# - 如何按 2 列对 DataTable 进行排序,使用 NULL,也许使用 LINQ?

c# - 我可以在构造函数调用中将对象的状态设置为对象本身吗?

php - if (!$variablename) 在 PHP 中做什么?

networking - 端口号和协议(protocol)号有什么区别?

c# - 将 JSON 数组发布到 mvc Controller

时间:2019-05-08 标签:c++linkedliSTListoperator[]

基于第一个值的Java三元运算符数据类型转换?

ide - SDK和IDE的区别

graphics - 什么是颜色图?我什么时候需要颜色图?