我最近重构了一些代码,现在有一个静态实用程序类,其方法如下:
const int x = 1;
public static string doWork(ref DataTable dt)
{
decimal total = 0;
foreach (DataRow row in dt.Select("COST_ID = " + x))
{
decimal annual = decimal.Parse(row["Cost"].ToString());
total += decimal.Round(annual, 2);
}
return String.Format("{0:C}", total);
}
为了清楚起见,我简化了示例...
这样做并在许多用户点击的 ASP.NET 应用程序背后的代码中调用 doWork 方法,我是否可能会遇到任何不良影响?任何人都知道或有参考资料,我可以在其中阅读有关性能方面的静态方法将如何工作的信息?这会成为任何形式的瓶颈吗?
编辑:
是的,我很抱歉这不是一个很好的例子,所以让我们说更多这样的话:
const int x = 1;
public static string doWork(ref DataTable dt)
{
foreach (DataRow row in dt.Select("COST_ID = " + x))
{
row["Cost"] = 0.0;
}
}
您是说 A)我实际上什至不需要这里的 ref,因为 Datatable 已经由 ref 传递,B)性能完全没有受到“汇集”对单个静态方法的所有调用的影响。