在 C# 中,条件表达式(也叫做三元表达式)是一种简洁的条件判断语法,通常用来替代简单的 if-else 语句。它的基本语法如下:
condition ? expression_if_true : expression_if_false;
语法解析:
condition:一个返回bool类型的表达式,即条件判断。expression_if_true:如果条件为true,则返回的值。expression_if_false:如果条件为false,则返回的值。
示例:
-
基本用法:
int age = 20; string result = age >= 18 ? "成人" : "未成年"; Console.WriteLine(result); // 输出 "成人"在这个例子中,如果
age大于等于 18,则返回"成人",否则返回"未成年"。 -
嵌套条件表达式:
int number = 10; string result = number > 0 ? (number < 5 ? "小于5" : "大于等于5") : "小于0"; Console.WriteLine(result); // 输出 "大于等于5"这里,条件表达式被嵌套,首先判断
number > 0,如果为真,再判断number < 5,根据条件分别返回不同的结果。 -
作为方法返回值:
public string GetDiscount(int age) { return age >= 65 ? "老年人优惠" : age < 18 ? "未成年人优惠" : "成人优惠"; }在这个方法中,根据
age的值,返回不同的折扣信息。
使用条件表达式的注意事项:
- 条件表达式通常用于简单的条件判断,如果逻辑比较复杂,还是建议使用传统的
if-else语句。 expression_if_true和expression_if_false必须具有相同的返回类型。如果它们类型不同,会导致编译错误。