##三目运算符理解
1、相当于条件判断语句
首先判断a是真是假,真就执行b,假就执行c,不会同时又判断a的真假的同时,又运算a,b的结果,最后再根据a的真假对a,b取舍,不会这样的。
2、结合方式从右向左分组运算
a=b>c?d:e-f?g-h:i+j
实际先运算e-f?g-h:i+j三目表达式的结果,然后再计算前面的三目表达式,最后赋值给a。
3、有些项目需要流水号,这些流水号是不重复的,而又想利用了三目运算符,所以结合三目运算符来生成不重复的流水号,以下是代码:
public ActionResult shengcheng()
{
string strbian = “”;
//获取当前时间
var date = DateTime.Now.ToString(“yyyyMMdd”);
//3-1.首先先查询出流水号字段
var bian = (from tbdriver in myModels.BAS_Driver
orderby tbdriver.Drivernumber
select tbdriver
).ToList();
if (bian.Count > 0)
//2.如果查出有数据,则拼接字符串 {
int count = bian.Count;
BAS_Driver mdel = bian[count - 1];
//截取字符串
int intcode = Convert.ToInt32(mdel.Drivernumber.Substring(9, 4));//如果字符串是0001转换成int型,会转成1,因为int型前面都是0的话会去掉
intcode++;
strbian = intcode.ToString();
for(int i = 0; i < 4; i++)
{
//3-2.利用三目运算符拼接,如果截取出来的字符串长度小于4,则利用for循环和三目运算符拼接字符串
strbian = strbian.Length < 4 ? “0” + strbian : strbian;
}
strbian = “C” + date + strbian;
}
//3-3.如果没有查询出数据,则视为第一条数据
else
{
strbian = “C” + date + “0001”;
}
return Json(strbian, JsonRequestBehavior.AllowGet);
}
效果图如下:
初来乍到,请多多指教,大神勿喷。