控制语句

三元运算符

预计阅读时间1 分 8 views

C# 三元运算符 (? :)

三元运算符是一种可以替代 if...else 语句的简写形式。在深入了解三元运算符之前,建议先熟悉 C# 中的 if...else 语句。

三元运算符的基本语法:

条件表达式 ? 表达式1 : 表达式2;

三元运算符的执行流程如下:

  • 如果条件表达式为 true,则返回 表达式1 的值。
  • 如果条件表达式为 false,则返回 表达式2 的值。

例如,以下传统的 if...else 代码:

if (number % 2 == 0)
{
    isEven = true;
}
else
{
    isEven = false;
}

可以通过三元运算符简化为一行代码:

isEven = (number % 2 == 0) ? true : false;

三元运算符名称的由来

因为三元运算符需要三个操作数:条件、true 时的返回值和 false 时的返回值,因此称为“三元”运算符。

示例 1:三元运算符的使用

using System;

namespace Conditional
{
    class Ternary
    {
        public static void Main(string[] args)
        {
            int number = 2;
            bool isEven;

            isEven = (number % 2 == 0) ? true : false;  
            Console.WriteLine(isEven);
        }
    }
}

程序输出:

True

在这个示例中,number 被赋值为 2。通过三元运算符,我们可以检查这个数是否为偶数。因为 2 是偶数,表达式 (number % 2 == 0) 返回 true,因此 isEven 的值为 true

同样,三元运算符还可以直接用于输出结果,而无需存储到变量中:

Console.WriteLine((number % 2 == 0) ? true : false);

何时使用三元运算符?

三元运算符能够将多行代码压缩为一行,这样可以使代码更加简洁。然而,不宜过度使用,尤其在逻辑复杂的情况下。

例如,以下的多行 if...else if 代码:

if (a > b)
{
    result = "a 大于 b";
}
else if (a < b)
{
    result = "b 大于 a";
}
else
{
    result = "a 等于 b";
}

可以简化为一行:

result = a > b ? "a 大于 b" : a < b ? "b 大于 a" : "a 等于 b";

尽管三元运算符可以使代码简洁,但当表达式过于复杂时,代码的可读性会下降。因此,建议仅在简单条件判断下使用三元运算符。

Leave a Comment

分享此文档

三元运算符

或复制链接

内容