当前位置:编程学习 > C#/ASP.NET >>

? "" 表示什么?请解释一下最后一句和前五句分别是什么意思。

strItem = dr.IsNull(0) ? "" : dr[0].ToString();
strModel = dr.IsNull(1) ? "" : dr[1].ToString();
strErrcode = dr.IsNull(2) ? "" : dr[2].ToString();
strLine = dr.IsNull(3) ? "" : dr[3].ToString();
strSection = dr.IsNull(4) ? "" :dr[4].ToString();
strSeq = dr.IsNull(5) ? "1" : Convert.ToString((Convert.ToInt32(dr[5].ToString()) + 1));
--------------------编程问答-------------------- 三元运算式

条件判断 ? 条件成立时需要运行的表达式A : 条件不成立时需要运行的表达式B

http://msdn.microsoft.com/zh-tw/library/zakwfxx4(VS.80).aspx --------------------编程问答-------------------- dr.IsNull(0)是否为true,如果是strItem =""如不是strItem =dr[0].ToString();
后面同理 --------------------编程问答-------------------- strItem = dr.IsNull(0) ? "" : dr[0].ToString();
这句等于下面的这个
if(dr.IsNull(0)==true)
{
    strItem="";
}
else
{
    strItem=dr[0].ToSTring();
}

其它的,就不用解释了吧! --------------------编程问答-------------------- 相当于 VB.NET中的
IF xxx 成立 THEN
   运行表达式A
ELSE
   运行表达式B
End if

或者
IIF(XXX条件成立?,语句A,语句B) --------------------编程问答-------------------- 可否根据具体问题解释下。小弟比较笨。另外dr.IsNull(0)是否为true,是怎么判断的?
foreach(DataRow dr in dt.Rows)
{
strItem = dr.IsNull(0) ? "" : dr[0].ToString();
strSeq = dr.IsNull(5) ? "1" : Convert.ToString((Convert.ToInt32(dr[5].ToString()) + 1));
}
可否逐句解释一下。谢谢 --------------------编程问答--------------------

bool isRight=3>2?true:false;
--------------------编程问答--------------------
引用 5 楼 fumanduo8 的回复:
可否根据具体问题解释下。小弟比较笨。另外dr.IsNull(0)是否为true,是怎么判断的?
foreach(DataRow dr in dt.Rows)
{
strItem = dr.IsNull(0) ? "" : dr[0].ToString();
strSeq = dr.IsNull(5) ? "1" : Convert.ToString((Convert.ToInt32(dr[……

如果前面的为RTUE 为什么用“”来赋值呢? --------------------编程问答-------------------- 因为strItem 可能是string 类型的 所以要赋“”
你应该问写代码的人
谁知道你这断代码是要做什么啊  --------------------编程问答--------------------
引用 8 楼 li_1042237864 的回复:
因为strItem 可能是string 类型的 所以要赋“”
你应该问写代码的人
谁知道你这断代码是要做什么啊

写代码的跳槽了-。- --------------------编程问答--------------------
引用 3 楼 andy1118 的回复:
strItem = dr.IsNull(0) ? "" : dr[0].ToString();
这句等于下面的这个
if(dr.IsNull(0)==true)
{
  strItem="";
}
else
{
  strItem=dr[0].ToSTring();
}

其它的,就不用解释了吧!


正解 --------------------编程问答--------------------
引用 3 楼 andy1118 的回复:
strItem = dr.IsNull(0) ? "" : dr[0].ToString();
这句等于下面的这个

if(dr.IsNull(0)==true)
{
  strItem="";
}
else
{
  strItem=dr[0].ToSTring();
}

其它的,就不用解释了吧!

正 解 --------------------编程问答--------------------
引用 1 楼 lost_painting 的回复:
三元运算式

条件判断 ? 条件成立时需要运行的表达式A : 条件不成立时需要运行的表达式B

http://msdn.microsoft.com/zh-tw/library/zakwfxx4(VS.80).aspx

henduia  --------------------编程问答--------------------
引用 5 楼 fumanduo8 的回复:
可否根据具体问题解释下。小弟比较笨。另外dr.IsNull(0)是否为true,是怎么判断的?
foreach(DataRow dr in dt.Rows)
{
strItem = dr.IsNull(0) ? "" : dr[0].ToString();
strSeq = dr.IsNull(5) ? "1" : Convert.ToString((Convert.ToInt32(dr[……

dr.isNull(0)就是判断查询出来的值的第一个是否为空,即dr的0行(列)isNUll(是否为空)
? "" : dr[0].ToString();
这个表示,如果dr.isNull(0)的值为空,则trItem="",如果不为空,则trItem=dr[0].tostring();(就是说等于dr[0(行或列的值)]),tostring 就是转换成string类型。
下面一行跟上面一行意思一样,
就是:?前面就判断两个值是否相等,如果为true(就是相等)就等于“:”前面的值,如果为false,就等于“:”后面的值
foreach 是个循环,就是循环从dt.Rows中取出每一行来、、、 --------------------编程问答-------------------- 条件运算符 (?:) 根据布尔型表达式的值返回两个值中的一个。条件运算符的格式如下 
condition ? first_expression : second_expression;
可空类型??
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,