小编Doc*_*ord的帖子

使用 Parallel.ForEachAsync

我正在尝试运行 a Parallel.ForEachAsync(),但出现以下两个错误:

错误 1:
参数 2:无法从 System.Threading.Tasks.ParallelOptions 转换为 System.Threading.CancellationToken
错误 2:
Delegate Func<WC, CancellationToken, ValueTask> 不采用 1 个参数

这是我的代码:

public async Task<List<DisplayDto>> GetData()
{
    var options = new ParallelOptions()
    {
        MaxDegreeOfParallelism = 20;
    };

    await Parallel.ForEachAsync(result, options, async OrderNumber => {
        //Do Stuff here. 
    });
}
Run Code Online (Sandbox Code Playgroud)

为了使其按照我的要求工作,必须改变什么?

c# parallel-processing asynchronous parallel.foreachasync

19
推荐指数
1
解决办法
3万
查看次数

连接每个循环中的字符串

我为每个循环使用两个来将值连接到一个变量,所以我可以在查找/替换方法中将值写入Word.我的问题是以下语法会将值写入控制台两次,以便将其写入控制台

Shirt - SH11
Hat - HA22
Socks - SO33
Shirt - SH11
Hat - HA22
Shirt - SH11
Run Code Online (Sandbox Code Playgroud)

我希望写入控制台的价值只是如下所示:

Shirt - SH11
Hat - HA22
Socks - SH11
Run Code Online (Sandbox Code Playgroud)

这是我的语法:

DataTable table = new DataTable();
table.Columns.Add("Name", typeof(string));
table.Columns.Add("ItemsSold", typeof(string));
table.Columns.Add("ItemIDs", typeof(string));
table.Rows.Add("James Jo", "Shirt; Hat; Socks;", "SH11; HA22; SO33");

var itemsSold = table.Rows[0].Field<string>("ItemsSold").Split(new string[] {"; "}, StringSplitOptions.RemoveEmptyEntries);
var ItemIDs = table.Rows[0].Field<string>("ItemIDs").Split(new string[] {"; "}, StringSplitOptions.RemoveEmptyEntries);

string displayformat = "";

foreach (string is in itemsSold)
{
    foreach (string id in ItemIDs) …
Run Code Online (Sandbox Code Playgroud)

c# linq

3
推荐指数
1
解决办法
109
查看次数