先if:设置DefaultValue就得写两遍,而且这里可能会有更多代码
这种的应该怎么弄呢
DataTable dt = new DataTable();
foreach (KVPair kv in items)
{
if (validType == "Key")
{
dt.Columns.Add(kv.Key, typeof(decimal));
}
else
{
dt.Columns.Add(kv.Value, typeof(decimal));
}
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
if (validType == "Key")
{
foreach (KVPair kv in items)
{
dt.Columns.Add(kv.Key, typeof(decimal));
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
}
else
{
foreach (KVPair kv in items)
{
dt.Columns.Add(kv.Value, typeof(decimal));
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
}
24 个解决方案
#1
建议写第二种 你完全可以把foeach写成一个方法
#2
if (validType == "Key")
{
foreach (KVPair kv in items)
{
dt.Columns.Add(kv.Key, typeof(decimal));
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
}
else
{
foreach (KVPair kv in items)
{
dt.Columns.Add(kv.Value, typeof(decimal));
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
}
没看出区别
{
foreach (KVPair kv in items)
{
dt.Columns.Add(kv.Key, typeof(decimal));
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
}
else
{
foreach (KVPair kv in items)
{
dt.Columns.Add(kv.Value, typeof(decimal));
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
}
没看出区别
#3
现在双核时代像这样的程序不会影响效率了,
想怎么写,就怎么写!
想怎么写,就怎么写!
#4
你完全可以把foeach写成一个方法
#5
不管什么时代,针对你目前的这种应用场景来讲先if后foreach效率会高一些。
#6
第二种效率高一点点,但可读性下降。
除非items里数量非常大(例如百万级),否则怎么舒服怎么写。
除非items里数量非常大(例如百万级),否则怎么舒服怎么写。
#7
单核也一样写。
#8
这就像我们绿色环保一样,你少做一次电梯可能没什么明显的影响,但这却有本质上的区别。就像我们耳熟能详的“莫以善小而不为,莫以恶小而为之”,系统的性能就是在这样不知不觉的小细节中降低的。
#9
性能 ,配好的电脑一切搞定。
#10
循环次数不多的话,这点计算基本对速度没影响的
#11
目测我的肉眼看不出来差距。。
#12
写个方法就行了。。。效率差不多。。不放心可以测试一下。。。
=============================================================================
嗒哒滴嗒哒!欢迎使用CSDN论坛专用阅读器:http://download.csdn.net/source/3353776
=============================================================================
嗒哒滴嗒哒!欢迎使用CSDN论坛专用阅读器:http://download.csdn.net/source/3353776
#13
个人更喜欢第一种,效率来讲,肯定是第二种了。明摆的~~~~~不过要从影响效率来讲,起码是百万级别的
#14
数据量不是很大,差别不是很大
#15
第二种.
#16
现在机子不在乎这点性能
#17
我喜欢第一种,行数少点
#18
效率来讲,肯定是第二种了
#19
推荐第二种,代码多的话,就需要封装成AddKey和AddValue方法再写更多的逻辑了,易于扩展。
第一种,耦合度高些
第一种,耦合度高些
#20
个人认为。。。。。把foreach写成一个方法比较好
#21
这又不是C,这么追求效率干嘛。
#22
是啊
#23
个人觉得第二种比较好,但总感觉不用太过执着了(可能我个人对这方面有点随意呵呵)
#24
别动不动就绿色环保低碳,这些东西关我们P民什么事啊
#1
建议写第二种 你完全可以把foeach写成一个方法
#2
if (validType == "Key")
{
foreach (KVPair kv in items)
{
dt.Columns.Add(kv.Key, typeof(decimal));
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
}
else
{
foreach (KVPair kv in items)
{
dt.Columns.Add(kv.Value, typeof(decimal));
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
}
没看出区别
{
foreach (KVPair kv in items)
{
dt.Columns.Add(kv.Key, typeof(decimal));
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
}
else
{
foreach (KVPair kv in items)
{
dt.Columns.Add(kv.Value, typeof(decimal));
dt.Columns[dt.Columns.Count - 1].DefaultValue = 0;
}
}
没看出区别
#3
现在双核时代像这样的程序不会影响效率了,
想怎么写,就怎么写!
想怎么写,就怎么写!
#4
你完全可以把foeach写成一个方法
#5
不管什么时代,针对你目前的这种应用场景来讲先if后foreach效率会高一些。
#6
第二种效率高一点点,但可读性下降。
除非items里数量非常大(例如百万级),否则怎么舒服怎么写。
除非items里数量非常大(例如百万级),否则怎么舒服怎么写。
#7
单核也一样写。
#8
这就像我们绿色环保一样,你少做一次电梯可能没什么明显的影响,但这却有本质上的区别。就像我们耳熟能详的“莫以善小而不为,莫以恶小而为之”,系统的性能就是在这样不知不觉的小细节中降低的。
#9
性能 ,配好的电脑一切搞定。
#10
循环次数不多的话,这点计算基本对速度没影响的
#11
目测我的肉眼看不出来差距。。
#12
写个方法就行了。。。效率差不多。。不放心可以测试一下。。。
=============================================================================
嗒哒滴嗒哒!欢迎使用CSDN论坛专用阅读器:http://download.csdn.net/source/3353776
=============================================================================
嗒哒滴嗒哒!欢迎使用CSDN论坛专用阅读器:http://download.csdn.net/source/3353776
#13
个人更喜欢第一种,效率来讲,肯定是第二种了。明摆的~~~~~不过要从影响效率来讲,起码是百万级别的
#14
数据量不是很大,差别不是很大
#15
第二种.
#16
现在机子不在乎这点性能
#17
我喜欢第一种,行数少点
#18
效率来讲,肯定是第二种了
#19
推荐第二种,代码多的话,就需要封装成AddKey和AddValue方法再写更多的逻辑了,易于扩展。
第一种,耦合度高些
第一种,耦合度高些
#20
个人认为。。。。。把foreach写成一个方法比较好
#21
这又不是C,这么追求效率干嘛。
#22
是啊
#23
个人觉得第二种比较好,但总感觉不用太过执着了(可能我个人对这方面有点随意呵呵)
#24
别动不动就绿色环保低碳,这些东西关我们P民什么事啊