C# 使用Enumerable.Range()填充字典时出现问题
如果我这样做 它工作得很好 当我尝试使用相同的东西时C# 使用Enumerable.Range()填充字典时出现问题,c#,linq,lambda,enumerable,C#,Linq,Lambda,Enumerable,如果我这样做 它工作得很好 当我尝试使用相同的东西时 for (int i = 0; i < appSettings.Count; i++) { string key = appSettings.Keys[i]; euFileDictionary.Add(key, appSettings[i]); } 我得到一个编译时错误 无法从用法推断方法“System.Linq.Enumerable.SelectSystem.Collections.Generic.IEnumerable
for (int i = 0; i < appSettings.Count; i++)
{
string key = appSettings.Keys[i];
euFileDictionary.Add(key, appSettings[i]);
}
我得到一个编译时错误
无法从用法推断方法“System.Linq.Enumerable.SelectSystem.Collections.Generic.IEnumerable,System.Func”的类型参数。尝试显式指定类型参数
有什么想法吗
使用C3.0
谢谢谢谢我得到了答案
Enumerable.Range(0, appSettings.Count).Select(i =>
{
string Key = appSettings.Keys[i];
string Value = appSettings[i];
euFileDictionary.Add(Key, Value);
}).ToDictionary<string,string>();
应用程序设置的类型是什么?似乎你已经想出了一些办法,但是。。。您的第二个代码片段没有太多意义。这纯粹是一项学术活动吗?
Enumerable.Range(0, appSettings.Count).ToList().ForEach(i =>
{
euFileDictionary.Add(appSettings.Keys[i], appSettings[i]);
});
Enumerable.Range(0, appSettings.Count).Select(i =>
new
{
Key = appSettings.Keys[i],
Value = appSettings[i]
})
.ToDictionary(x => x.Key, x => x.Value);
Enumerable.Range(0, appSettings.Count)
.ToDictionary(
i => appSettings.Keys[i],
i => appSettings[i]);