C#程序设计经典300例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例015 求三个数中的最大值——三元运算符

【实例描述】

本实例主要介绍三元运算符“?:”的使用方法。该实例从控制台输入三个整数,然后对该三个数进行比较,输出三个数中较大的数,效果如图2-15所示。

图2-15 输出三个数中较大的数

【实现过程】

(1)创建一个名为Max的控制台应用程序。

(2)从控制台输入三个整数,在 main 函数中添加代码如下:

    Console.WriteLine("请输入第一个数:");
    int Number1 = int.Parse(Console.ReadLine());            //从控制台输入第一个数
    Console.WriteLine("请输入第二个数:");
    int Number2 = int.Parse(Console.ReadLine());            //从控制台输入第二个数
    Console.WriteLine("请输入第三个数:");
    int Number3 = int.Parse(Console.ReadLine());            //从控制台输入第三个数

(3)对三个数相互比较求出最大的数。

    int max = Number1 > Number3 ? Number1 > Number2 ? Number1 : Number2 : Number3; >Number2?Number3:Number2;
    Console.WriteLine("{0} {1} {2}中最大值为{3}", Number1, Number2, Number3, max);

【代码解析】

实例代码中,先从控制台输入三个整数,然后用三元运算符“?:”求出三个数中最大的数。三元运算符“?:”也可称为条件运算符,其语法如下:

    条件表达式 ? 表达式一 : 表达式二

其中条件表达式返回一个布尔值,如果条件为true,则返回表达式一的结果,如果为false,则返回表达式二的结果。这里要注意的是,表达式一和表达式二返回值的类型必须一致;条件运算符是右结合的运算符,看如下表达式:

    a > b ? a : b > c ? b : c

等价于

    a > b ? a : (b > c ? b : c)

而不是:

    (a > b ? a : b > c) ? b : c