【发布时间】:2018-06-01 15:25:59
【问题描述】:
我写了一个程序,它运行良好。但问题是,这需要很多时间来处理。 我在数据表中有超过数百万的数据。所以真的很难等到这个过程完成。我听说了一些关于 LinQ 方法的事情。但我对此并不熟悉。谁能帮我加快我的代码速度。
foreach (var ch in lsCh)
{
foreach (var dt in lsDt)
{
foreach (var cs in lsCs)
{
DataRow[] result = Dtsrc.Select("Channel = '" + ch.ToString() + "' AND Date = '" + dt.ToString() + "' AND CPSTime = '" + cs + "'");
if (result.Length > 0)
{
//Some calculation
}
Dtsrc.AcceptChanges();
}
}
}
【问题讨论】:
-
lsCh,lsDt和lsCs是什么?你想在那里做什么?你不能输入一些代码然后说:改进。 LINQ 也使用循环,通常它只是有助于提高可读性 -
为了帮助你,你应该提供一些关于算法和你正在迭代的数据的信息。
-
这些是列表。!我正在尝试使用数据表中的此列表过滤数据@TimSchmelter
-
@Shanmugarajan:什么样的列表?它们包含什么,类的外观如何?另外,你的 for 循环和 if 条件的逻辑是什么?例如:
if (result.Length <= l + 1)和for (int rr = resRcnt; rr <= l; rr++)。为什么你需要这三个列表? -
它包含频道、日期和开始时间。数据表中有相同的详细信息。有了这个列表,想从数据表中获取数据。
标签: c# .net linq for-loop datatable