如下:
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 + "',"; } }
这两段代码,用哪一种更合适
第一个是,不断的为变量进行赋值。
第二个是,变量只赋值一次即可,但是每次都要进行判断。
其实两者之间并不会太打的效率级别差,因为对于不是密集型的计算来说,这完全是可以被忽略的,但是如果从程序的习惯上来说,在这里themonth其实就是被用于一个临时变量了,所以我也更偏向于第一种,因为多少加个if判断总是有点多余的,除非你是想在for中跳出
嗯 谢谢
第一种吧。
不要纠结这种级别的效率问题.你的CPU主频并不是1MHZ,
而且你说的这个问题重点在于真实业务中那种情况发生的多.跟执行性能没什么关系.
嗯嗯 我只是好奇一些。
@蓝月夜: 好奇的话可以自己实践一下,看看到底哪个效率高。
这个可以忽略掉 在大的数据处理方面 数据较多的情况下 循环遍历 判断之类的都得优化一下性能
嗯嗯 大数据方面了解的比较少