C#-使用三元运算符有什么优点或好处吗

本文关键字:什么 运算符 三元 C#- | 更新日期: 2023-09-27 18:24:49

对if语句使用三级运算符有什么好处吗?

例如,以下是更有效的吗?还是被认为是更好的编程实践?

variable1 = string.IsNullOrEmpty(variable2) ? "string value" : "";

与以下格式相比:

        if (string.IsNullOrEmpty(variable2))
        {
            variable1 = "string value"
        } else
        {
            variable1 = "";
        }

C#-使用三元运算符有什么优点或好处吗

对于这种情况,条件三元运算符更好。对于经验丰富的程序员来说,代码的可读性和可维护性要高得多。在表现上没有什么有意义的差异。

三元运算符更简洁:键入更少,读取更快。编译的IL代码或JITted的本机代码可能是相同的。如果没有,任何性能差异几乎肯定会非常小。因此,在做出决策时,源代码质量是唯一真正需要考虑的因素。

"第三"是指"重要性第三";"三元"的意思是"有三个部分。"

我个人更喜欢"条件算子"这个词,因为将来完全有可能有人发明另一个三元算子。想象一下,如果我们必须将+称为"第一个二进制运算符",将-称为"第二个二进制操作符"!

数据绑定表达式上需要它

<asp:Label runat="server" 
        Text='<%# (bool)Eval("Active") ? "Active" : "Disabled"' />

除了偏好之外没有其他区别。就实际可读性而言,这是一个宗教问题,因为一组程序员会说"是",另一组程序员则会说"否"。扩展的(if/then/else)形式的一个优点是更容易向分支添加额外的语句。此外,如果您需要嵌套额外的条件逻辑,if/then/else将是首选方法。

没有性能提升,但通常认为会更好。它使用较少的资源来描述与其他示例相同的一组操作。

如果你想在块中执行多个语句,你需要重构代码,但这很容易重构。有些人可能认为这会降低代码的可读性。就纯粹的功能而言,没有什么区别。