绩效衡量(哪一个最好用)

时间:2014-05-06 07:07:05

标签: c# asp.net performance linq

我有一个datatable,其中包含一些ID。我想用逗号分隔值来提取这些ID。我试过的是:

使用LINQ

int [] strGoalIds = (from Task in dtActionItems.AsEnumerable()
                    select Task.Field<int>("TaskEntityId")).ToArray(); 
string strGoalTagIds = "";
if (strGoalIds.Count() > 0)
{
  strGoalTagIds = string.Join(",", strGoalIds );
}

WITH For循环

string strGoalIds = "";
for (int i = 0; i < dtActionItems.Rows.Count; i++)
{
  strGoalIds = strGoalIds + "," + dtActionItems.Rows[i]["TaskEntityId"].ToString();
}

任何人都可以告诉我哪种方式最好。

1 个答案:

答案 0 :(得分:1)

性能明智LINQ速度较慢,因为LINQ内部使用循环。如果你真的在为性能工作,请使用for循环。此堆栈溢出Post可能会帮助您For vs. Linq - Performance vs. Future