经常在判断中使用的三目运算符??

三目 运算符
<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果.   例1:   int a=2;   int c=3;   int b=(a>c)?2:3;   输出b;   这样的结果是b为3  例2:
 分页 排序问题 OrderByCount 排序字段
 OrderByColumn((OrderByCount == "" ? "sendDate" : OrderByCount + " desc,sendDate")), OrderBy.Desc,
引申:双目  < null>?<表达式2>  null??""即:前者 为null 转化成后者,后者可以随意取值。此例将null 转化为空"".

例如:

 string lessonID =

 (HQLHelper.ExecuteScalar("select lessonpreparId from  home_lessonprepar  where lessonProcess='" + ho.LessonProcess + "' and step='2'") ?? "").ToString();

ExecuteScalar():若返回为Null,再tospring()报错,所以使用 ??

posted @ 2012-02-29 19:08  365lei  阅读(4246)  评论(0编辑  收藏  举报