码迷,mamicode.com
首页 > 其他好文 > 详细

一个关于三木运算符的问题

时间:2016-07-21 14:29:11      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

原型:

 Test t = new Test();
            if (t.str == "1")
                p = "11";
            else if (t.str == "2")
                p = "22";
            else if (t.str == "3")
                p = "33";

switch (t.str)
{
  case "1":
    p = 11;
    break;
  case "2":
    p = 22;
    break;
  case "3":
    p = 33;
    break;
  default:
    break;
}

三元需要返回值,p 放前面

p = t.str == "1" ? "11" : (t.str == "2" ? "22" : "33");              

or  p=t.str == "1"?"11":t.str == "2"?"22":"33";  三木运算符的优先级是从右到左

 

三目运算符,前边 ?前边条件成立则返回 :前的值,不成立则返回后边的值,,,,有许多程序都用了这个特性,比如下边:js  和 c# 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

?运算符(null合并运算符)和三木运算符

 

?运算符:?运算符也成为null合并运算符.?运算符的左操作数如果不为null,则返回左操作数。反之,则返回右操作数。

三木运算符(js):

 

 var a=2;
 var b="";
 a=(a?a:b); 
当a为false、undefined、null或空字符串时,返回b;否则返回a;
三木运算符(C#):
int a=10;
int b;
b=(a==10)?a++:a--; 

 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一个关于三木运算符的问题

标签:

原文地址:http://www.cnblogs.com/the-tops/p/5691318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!