gpt4 book ai didi

c# - 将 foreach 转换为 Parallel.ForEach

转载 作者:太空宇宙 更新时间:2023-11-03 15:53:30 25 4
gpt4 key购买 nike

我需要将 foreach 转换为 Parallel.foreach ,有人可以帮我吗?

    foreach (DataRow row2 in DT.Rows)
{
try
{
bool check = (urlcheck(dataGridView.Rows[i].Cells[2].Value.ToString()));
if (check == true)
ExecuteQuery("");
else
ExecuteQuery("");
}
catch{ }
i++;
}

最佳答案

我会使用 Parallel.ForEach 的重载所以你的i参数由foreach方法提供:

Parallel.ForEach(DT.Rows.OfType<System.Data.DataRow>(), (DataRow row2, ParallelLoopState loopState, long i) =>
{
try {
bool check = (urlcheck(dataGridView.Rows[(int)i].Cells[2].Value.ToString()));
if (check == true)
ExecuteQuery("");
else
ExecuteQuery("");
}
catch{ }
});

对于 OfType<>您需要添加的方法 using System.Linq到你的使用语句。

现在索引 ( i ) 由方法调用自动分配,因此您不必担心 i 的线程安全性.

关于c# - 将 foreach 转换为 Parallel.ForEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24755232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com