黑马程序员技术交流社区
标题:
关于三元表达式的问题
[打印本页]
作者:
熊鑫
时间:
2013-4-17 11:36
标题:
关于三元表达式的问题
我们都知道三元表达式是: 表1?表2:表3 这种类型, 表1必须为bool类型,那么表2和表3可以为bool类型么?
作者:
张林杰
时间:
2013-4-17 11:56
可以,三元表达式只是要求表1必须为bool类型,表2和表3的类型一定要相同,举个例子:
static void Main(string[] args)
{
bool a = true;
bool b = false;
bool c = true;
Console.WriteLine(a?b:c);
Console.ReadKey();
}
复制代码
上面代码输出结果为False;需要注意的是,要是表2或表3其中一个为bool,另一个也必须为bool类型,要么其他相同类型。
作者:
wang346351
时间:
2013-4-17 12:11
理论上是可以但这样用好像没有意义了。
static void Main(string[] args)
{
bool flag = (4 > 5) ? (5 > 6) : (6 > 5);
bool flag2 = (4 > 5) ? (5 < 6) : (6 < 5);
Console.WriteLine(flag);
Console.WriteLine(flag2);
Console.ReadKey();
}
显示结果 true fase
作者:
陈培茹
时间:
2013-4-17 12:29
可以但在(表达式1 ? 表达式2 : 表达式3)中,表达式2和表达式3的数据类型必须相同
作者:
清朗的晨风
时间:
2013-4-17 13:57
可以的,只要求第一个是bool类型,第二个和第三个表达式是同一类型即可。
作者:
史鹏飞
时间:
2013-4-17 14:27
string 变量1 = bool类型 ? 变量2 : 变量3;
因为“变量2” 和“变量3”要赋值给“变量1”,所以“变量2” 、“变量3”、“变量1” 的类型肯定要相同啊。bool类型的当然可以的。
作者:
胡化敏
时间:
2013-4-17 14:42
string s=(2>4)?"1":"4";
表2,3的返回值类型必须相同,同时表1的返回值必须是bool类型
作者:
zerochen46
时间:
2013-4-17 14:49
表2和表3可以为bool类型,不过必须是表2和表3都为bool类型,同时接收的变量也必须是bool类型
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2