C# 条件表达式

在 C# 中,条件表达式(也叫做三元表达式)是一种简洁的条件判断语法,通常用来替代简单的 if-else 语句。它的基本语法如下:

condition ? expression_if_true : expression_if_false;

语法解析:

  • condition:一个返回 bool 类型的表达式,即条件判断。
  • expression_if_true:如果条件为 true,则返回的值。
  • expression_if_false:如果条件为 false,则返回的值。

示例:

  1. 基本用法

    int age = 20;
    string result = age >= 18 ? "成人" : "未成年";
    Console.WriteLine(result); // 输出 "成人"
    

    在这个例子中,如果 age 大于等于 18,则返回 "成人",否则返回 "未成年"

  2. 嵌套条件表达式

    int number = 10;
    string result = number > 0 ? (number < 5 ? "小于5" : "大于等于5") : "小于0";
    Console.WriteLine(result); // 输出 "大于等于5"
    

    这里,条件表达式被嵌套,首先判断 number > 0,如果为真,再判断 number < 5,根据条件分别返回不同的结果。

  3. 作为方法返回值

    public string GetDiscount(int age)
    {
        return age >= 65 ? "老年人优惠" : age < 18 ? "未成年人优惠" : "成人优惠";
    }
    

    在这个方法中,根据 age 的值,返回不同的折扣信息。

使用条件表达式的注意事项:

  • 条件表达式通常用于简单的条件判断,如果逻辑比较复杂,还是建议使用传统的 if-else 语句。
  • expression_if_trueexpression_if_false 必须具有相同的返回类型。如果它们类型不同,会导致编译错误。