C#-使用三元运算符有什么优点或好处吗
本文关键字:什么 运算符 三元 C#- | 更新日期: 2023-09-27 18:24:49
对if语句使用三级运算符有什么好处吗?
例如,以下是更有效的吗?还是被认为是更好的编程实践?
variable1 = string.IsNullOrEmpty(variable2) ? "string value" : "";
与以下格式相比:
if (string.IsNullOrEmpty(variable2))
{
variable1 = "string value"
} else
{
variable1 = "";
}
对于这种情况,条件三元运算符更好。对于经验丰富的程序员来说,代码的可读性和可维护性要高得多。在表现上没有什么有意义的差异。
三元运算符更简洁:键入更少,读取更快。编译的IL代码或JITted的本机代码可能是相同的。如果没有,任何性能差异几乎肯定会非常小。因此,在做出决策时,源代码质量是唯一真正需要考虑的因素。
"第三"是指"重要性第三";"三元"的意思是"有三个部分。"
我个人更喜欢"条件算子"这个词,因为将来完全有可能有人发明另一个三元算子。想象一下,如果我们必须将+
称为"第一个二进制运算符",将-
称为"第二个二进制操作符"!
数据绑定表达式上需要它
<asp:Label runat="server"
Text='<%# (bool)Eval("Active") ? "Active" : "Disabled"' />
除了偏好之外没有其他区别。就实际可读性而言,这是一个宗教问题,因为一组程序员会说"是",另一组程序员则会说"否"。扩展的(if/then/else)形式的一个优点是更容易向分支添加额外的语句。此外,如果您需要嵌套额外的条件逻辑,if/then/else将是首选方法。
没有性能提升,但通常认为会更好。它使用较少的资源来描述与其他示例相同的一组操作。
如果你想在块中执行多个语句,你需要重构代码,但这很容易重构。有些人可能认为这会降低代码的可读性。就纯粹的功能而言,没有什么区别。