任何人都可以为我阐明这一点。 哪个性能更好
foreach (DataRow row in prodStockLevels.Rows)
{
string stock = row["stpt_Stock"].ToString();
textbox.text = stock;
}
或
foreach (DataRow row in prodStockLevels.Rows)
{
textbox.text = row["stpt_Stock"].ToString();
}
即使数据表很大,也会有很大差异。只是想知道如果直接传递数据,性能会更好。
答案 0 :(得分:4)
效率上没有明显的差异 - 我怀疑它甚至可衡量,如果它存在 。
您分配给局部变量的事实基本上是无关紧要的。表达式row["stpt_Stock"].ToString()
的值将以任一方式结束于堆栈。唯一的区别是该堆栈槽是否有名称。
在调试器中,它可能会产生微小但仅仅是可衡量的差异,因为它可能会产生一些额外的影响 - 但肯定不足以担心。
我想我会更加担心你会反复为同一个textBox.Text
属性分配值 - 只有最后一个才真正具有相关性。你最好只获取 last 行...
答案 1 :(得分:1)
没有区别。编译后可能完全相同的代码。
答案 2 :(得分:1)
没有区别。
以下内容将比两者都快:
textbox.text = prodStockLevels.Rows.Last()["stpt_Stock"].ToString();