首页 新闻 会员 周边 捐助

C#赋值和判断的效率

0
[已解决问题] 解决于 2015-10-26 18:03

如下:

string themonth = "";
for (int i = 0; i < dt.Rows.Count; i++)
    {
        if (taskType == "月任务")
        {
            string[] times = tmdmTime.Split('');
            themonth = times[0];
            tempinStr += "\"time\":'" + times[1] + "',";
        }
        else
        {
            tempinStr += "\"time\":'" + tmdmTime + "',";
        }
}
string themonth = "";
for (int i = 0; i < dt.Rows.Count; i++)
    {
        if (taskType == "月任务")
        {
            string[] times = tmdmTime.Split('');
            if(themonth=="")
                themonth = times[0];
            tempinStr += "\"time\":'" + times[1] + "',";
        }
        else
        {
            tempinStr += "\"time\":'" + tmdmTime + "',";
        }
}

这两段代码,用哪一种更合适

第一个是,不断的为变量进行赋值。

第二个是,变量只赋值一次即可,但是每次都要进行判断。

蓝月夜的主页 蓝月夜 | 初学一级 | 园豆:169
提问于:2015-07-03 09:40
< >
分享
最佳答案
0

其实两者之间并不会太打的效率级别差,因为对于不是密集型的计算来说,这完全是可以被忽略的,但是如果从程序的习惯上来说,在这里themonth其实就是被用于一个临时变量了,所以我也更偏向于第一种,因为多少加个if判断总是有点多余的,除非你是想在for中跳出

奖励园豆:5
visonme | 小虾三级 |园豆:1674 | 2015-07-03 12:55

嗯 谢谢

蓝月夜 | 园豆:169 (初学一级) | 2015-07-03 14:46
其他回答(3)
0

第一种吧。

芝芝07 | 园豆:365 (菜鸟二级) | 2015-07-03 10:24
0

不要纠结这种级别的效率问题.你的CPU主频并不是1MHZ,

而且你说的这个问题重点在于真实业务中那种情况发生的多.跟执行性能没什么关系.

吴瑞祥 | 园豆:29449 (高人七级) | 2015-07-03 10:48

嗯嗯 我只是好奇一些。

支持(0) 反对(0) 蓝月夜 | 园豆:169 (初学一级) | 2015-07-03 14:47

@蓝月夜: 好奇的话可以自己实践一下,看看到底哪个效率高。

支持(0) 反对(0) 顾晓北 | 园豆:10898 (专家六级) | 2015-07-03 15:03
0

这个可以忽略掉 在大的数据处理方面 数据较多的情况下 循环遍历 判断之类的都得优化一下性能

CanIHelpYou? | 园豆:207 (菜鸟二级) | 2015-07-03 14:14

嗯嗯 大数据方面了解的比较少

支持(0) 反对(0) 蓝月夜 | 园豆:169 (初学一级) | 2015-07-03 14:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册