C#代码鉴赏1

时间:2021-08-28 00:50:30
for (int k = 0; k < Mydt.Rows.Count; k++)
{
if (j == dttsbill.Rows.Count)
{
//
if (Mydt.Rows[k]["ItemID"].ToString() == "28126")
{
SubTemp.Append("<td style=\"font-size:14pt; FONT-FAMILY: 仿宋_gb2312;border-bottom-width:1px;border-left-width:0px;\" align=\"center\">" + (Mydt.Rows[k]["Value"].ToString().Length>0 ?Mydt.Rows[k]["Value"].ToString():"/") + "</td>");
}
if (Mydt.Rows[k]["ItemID"].ToString() == "28127")
{
SubTemp.Append("<td style=\"font-size:14pt;FONT-FAMILY: 仿宋_gb2312;border-bottom-width:1px;\" align=\"center\">" + (Mydt.Rows[k]["Value"].ToString().Length>0? Mydt.Rows[k]["Value"].ToString():"/") + "</td>");
}
if (Mydt.Rows[k]["ItemID"].ToString() == "28128")
{
SubTemp.Append("<td style=\"font-size:14pt;FONT-FAMILY: 仿宋_gb2312;BORDER-RIGHT-WIDTH: 2px;border-bottom-width:1px;\" align=\"center\" >" + (Mydt.Rows[k]["Value"].ToString().Equals("")?"/":Mydt.Rows[k]["Value"].ToString()) + "</td>");
}
//
}
else
{
//
if (Mydt.Rows[k]["ItemID"].ToString() == "28126")
{
SubTemp.Append("<td style=\"font-size:14pt; FONT-FAMILY: 仿宋_gb2312;border-left-widt:0px;\" align=\"center\">" + Mydt.Rows[k]["Value"].ToString() + "</td>");
}
if (Mydt.Rows[k]["ItemID"].ToString() == "28127")
{
SubTemp.Append("<td style=\"font-size:14pt;FONT-FAMILY: 仿宋_gb2312\" align=\"center\">" + Mydt.Rows[k]["Value"].ToString() + "</td>");
}
if (Mydt.Rows[k]["ItemID"].ToString() == "28128")
{
SubTemp.Append("<td style=\"font-size:14pt;FONT-FAMILY: 仿宋_gb2312\" align=\"center\" style=\"BORDER-RIGHT-WIDTH: 3px;\">" + Mydt.Rows[k]["Value"].ToString() + "</td>");
}
//
}
}

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

一句一句慢慢看

SubTemp.Append("
<td style=\"font-size:14pt; FONT-FAMILY: 仿宋_gb2312;border-bottom-width:1px;border-left-width:0px;\" align=\"center\">"
+ (Mydt.Rows[k]["Value"].ToString().Length>0 ?Mydt.Rows[k]["Value"].ToString():"/") +
"</td>
");

其中 (Mydt.Rows[k]["Value"].ToString().Length>0 ?Mydt.Rows[k]["Value"].ToString():"/") 这个写法很好,

如果获取的字符长度大于0就用取过来的值,否则就用“/”代替,这样就可以少用一个IF语句,可以减少代码量,增加可读性

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

 

SubTemp.Append("
<td style=\"font-size:14pt;FONT-FAMILY: 仿宋_gb2312;BORDER-RIGHT-WIDTH: 2px;border-bottom-width:1px;\" align=\"center\" >"
+ (Mydt.Rows[k]["Value"].ToString().Equals("")?"/":Mydt.Rows[k]["Value"].ToString()) +
"</td>");

这里 这句 (Mydt.Rows[k]["Value"].ToString().Equals("")?"/":Mydt.Rows[k]["Value"].ToString())和上面想达到的效果是一样的

不过这里是判断字符串是否为空,然后执行判断。

这里推荐同志们用 第一种而不是这种,因为判断字符串是否为空耗的系统性能明显要比判断数字长度大小的耗的系统要大。

这是是属于小细节方面了。