gpt4 book ai didi

.net - PLINQ 更新失败

转载 作者:行者123 更新时间:2023-12-04 06:47:49 25 4
gpt4 key购买 nike

对不起我的英语不好。所以,这是我的问题
我正在尝试通过 PLINQ 更新 DataTable
这是我的代码

DataTable table = new DataTable();

table.Columns.Add(new DataColumn("val", typeof(decimal)));

int N = 1000000;

for (int i = 0; i < N; i++) table.Rows.Add(new object[] { i });

table.AsEnumerable().AsParallel().ForAll(row => row["val"] = 3);

但有一个异常(exception):“索引超出范围。必须为非负且小于集合的大小。
参数名称:索引"

请帮我

最佳答案

好吧,我现在可以告诉你modifying the rows of a DataTable in parallel is not Kosher (来自 DataTable 类的 MSDN 文档):

This type is safe for multithreaded read operations. You must synchronize any write operations.



因此,虽然我不确定究竟是什么导致了您提到的特定异常,但我知道您真的不应该尝试此操作,因为它不受支持。

关于.net - PLINQ 更新失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3521418/

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