C#条件运算符(?:)

一、C#条件运算符(?:)

条件运算符(?:),有时也称为三元操作符“?:”。它是根据布尔型表达式的值返回?后面的两个值中的一个。如果条件为True,则计算第一个表达式并以它的计算结果为准;如果条件为False,则计算第二个表达式并以它的计算结果为准。

例如:

b ? x : y形式的条件表达式。首先计算条件b,如果b为True,则计算x,x自动成为运算结果;否则计算y,y自动成为运算结果。

条件运算符是向右关联的,就是表示运算是从右到左进行分组的。

例如:

a ? b : c ? d : e形式的表达式按照

a ? b : (c ? d : e)的顺序执行。

二、提示

?:的每一个操作数都必须是一个可以隐式转换成bool类型的表达式或者执行操作符True类型的表达式。

三、示例
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            // C#条件运算符(?:)-www.baike369.com
            int a = 3;
            int b = 9;
            int c = 6;
            int d;
            d = (a > b ? a : b) > c ? (a > b ? a : b) : c;
            Console.WriteLine("d = " + d);
            Console.ReadLine();
        }
    }
}

运行结果:

d = 9示例分析:

d = (a > b ? a : b) > c ? (a > b ? a : b) : c;语句中,首先判断括号里面的语句:

a > b ? a : ba > b为假,所以此语句的结果是b。那么第一行语句可以改写成:

d = b > c ? b : cb > c为真,所以此语句的结果是b。因此:

d = 9

 
posted @ 2015-01-21 17:24  melao2006  阅读(4155)  评论(0编辑  收藏  举报