黑马程序员技术交流社区

标题: C#中的三元表达式有几种形式?适用于所有数据类型么 [打印本页]

作者: Kaitong    时间: 2014-4-1 22:37
标题: C#中的三元表达式有几种形式?适用于所有数据类型么
本帖最后由 Kaitong 于 2014-4-2 11:14 编辑

今天学到三元表达式,条件?表达式1:表达式2
三元表达式是不是就这一种情况?会不会和二元运算符(+-*/)一样有好几种形式呢?是不是所有数据类型都适用?求帮忙说下
作者: threederek    时间: 2014-4-1 22:40
就是个条件表达式吧
用法的话具体情况分很多
你就按照对 if else语句来理解吧
作者: redlong    时间: 2014-4-1 23:15
本帖最后由 redlong 于 2014-4-1 23:17 编辑

三元表达式其实就是简单的if else 形式。比如说你在修改一条数据的时可以这样写
if(count>0)
{
   return "修改成功";
}
else
{
  return "修改失败";
}
如果用三元表达式就简单多了
return count>0?"修改成功":"修改失败";


作者: gyt_xtt    时间: 2014-4-2 09:01
  1. class Program
  2.     {
  3.         //要求用户输入两个数a、b,如果a能被b整除或者a加b大于100,则输出a的值,否则输出b的值。
  4.         static void Main(string[] args)
  5.         {
  6.             try
  7.             {
  8.                 Console.WriteLine("请输入两个数;");
  9.                 int a = Convert.ToInt32(Console.ReadLine());
  10.                 int b = Convert.ToInt32(Console.ReadLine());
  11.                 int max = a > b ? a : b;//三元运算符,具体见下面的详解
  12.                 Console.WriteLine("较大的数是{0}",max);
  13.             }
  14.             catch
  15.             {
  16.                 Console.WriteLine("非法字符,程序结束");
  17.             }
  18.             Console.ReadKey();
  19.         }
  20.         /* a > b ? a : b 就相当于
  21.          *
  22.          * if(a>b)
  23.          * {
  24.          *   max=a;
  25.          * }
  26.          * else
  27.          * {
  28.          *   max=b;
  29.          * }
  30.          */
  31.     }
复制代码

作者: Kaitong    时间: 2014-4-2 09:41
额,我知道那个三元表达式是什么意思,我想问的是三元表达式有几种形式,是不是所有的数据类型都能用三元表达式?
作者: 贰的23次方    时间: 2014-4-3 18:31
threederek 发表于 2014-4-1 22:40
就是个条件表达式吧
用法的话具体情况分很多
你就按照对 if else语句来理解吧 ...

麻烦帮我看看这个问题
http://bbs.itheima.com/thread-112655-1-1.html
作者: 念~    时间: 2014-4-3 19:10
三元表达式,条件的结果只能够是bool类型,无论什么数据类型结果都必须要能显示或者能够隐示转换成bool类型,至于后面两个表达式随便写,不过只能够是一条语句(多条就用括号来括);




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2