如果我这样做
for (int i = 0; i < appSettings.Count; i++)
{
string key = appSettings.Keys[i];
euFileDictionary.Add(key, appSettings[i]);
}
工作正常。
当我使用
尝试同样的事情时Enumerable.Range(0, appSettings.Count).Select(i =>
{
string Key = appSettings.Keys[i];
string Value = appSettings[i];
euFileDictionary.Add(Key, Value);
}).ToDictionary<string,string>();
我收到编译时错误
无法从用法推断出方法'System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable,System.Func)'的类型参数。请尝试明确指定类型参数。
有什么想法吗?
使用C#3.0
由于
答案 0 :(得分:3)
Enumerable.Range(0, appSettings.Count).Select(i =>
new
{
Key = appSettings.Keys[i],
Value = appSettings[i]
})
.ToDictionary(x => x.Key, x => x.Value);
答案 1 :(得分:2)
Enumerable.Range(0, appSettings.Count)
.ToDictionary(
i => appSettings.Keys[i],
i => appSettings[i]);
答案 2 :(得分:0)
谢谢,我得到了答案
Enumerable.Range(0, appSettings.Count).ToList().ForEach(i =>
{
euFileDictionary.Add(appSettings.Keys[i], appSettings[i]);
});