gpt4 book ai didi

c# - 如何使用 Parallel.ForEach 显示 IDictionary 的值?

转载 作者:行者123 更新时间:2023-12-02 04:42:52 26 4
gpt4 key购买 nike

我是一名 C# 爱好者,我正在使用 Parallel.ForEach 方法。我正在尝试使用以下代码在给定系统上显示环境变量:

IDictionary vars = Environment.GetEnvironmentVariables();

Parallel.ForEach(vars, (envVar) =>
{
Console.WriteLine("{0} = {1}", envVar.Key, envVar.Value);
});

但是我最终遇到了这个错误:

Error 3 The type arguments for method 'System.Threading.Tasks.Parallel.ForEach<TSource>(System.Collections.Concurrent.OrderablePartitioner<TSource>, System.Action<TSource,System.Threading.Tasks.ParallelLoopState,long>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

我很确定我错过了 Actor 阵容,但无论我尝试什么,我都无法让它发挥作用。你能帮帮我吗?

最佳答案

IDictionary.GetEnumerator() 返回一个 IDictionaryEnumerator,它有一个属性 Entry 返回当前元素(键和值)输入 DictionaryEntry,这就是您正在使用的类型:

    static void Main()
{
var envVars = Environment.GetEnvironmentVariables();

Parallel.ForEach( envVars.Cast<DictionaryEntry>(), ev =>
{
Console.WriteLine( "{0}: {1}", ev.Key, ev.Value );
} );

Console.ReadLine();
}

关于c# - 如何使用 Parallel.ForEach 显示 IDictionary 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20458481/

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