2 u013169011 u013169011 于 2013.12.18 15:35 提问

C#代码优化,请大家提提意见。

请看下面的代码,从代码的可读性、减少冗余考虑,大家有没有优化的方法了。谢谢!
以下两个方法,我想来想去也没找出可以简化的地方了,请大家指教。
private void getRecordCount()
{
var recordCount = "0";
var cid = Session["cid"].ToString();
var sql = "SELECT COUNT(*)RCOUNT FROM (SELECT DONO FROM D1030 WHERE DOABBR = '" + cid + "' GROUP BY DONO) A";
var dataSet = SqlHelper.dataSet(sql);
if (dataSet != null && dataSet.Tables.Count > 0 && dataSet.Tables[0].Rows.Count > 0)
{
recordCount = dataSet.Tables[0].Rows[0][0].ToString();
}
Response.Write(recordCount);
}

2个回答

qhttl
qhttl   2014.02.17 11:17

dataSet != null && dataSet.Tables.Count > 0 && dataSet.Tables[0].Rows.Count > 0
修改成
!(dataSet == null || dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count == 0)

因为这样 当dataset为空的话就不会去判断dataset.table.count==0了,同样会不会-判断后面的语句
而你的三条语句在任何情况下都要满足执行

wangwu2235
wangwu2235   2014.02.28 14:32

也可以这么写:
if (dataSet == null || dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count == 0)
{
Response.Write(0);
return;
}
recordCount = dataSet.Tables[0].Rows[0][0].ToString();
Response.Write(recordCount);

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!