经常在判断中使用的三目运算符??
三目 运算符
<表达式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()报错,所以使用 ??