gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:41:03 28 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/

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