C# 如何使用LINQ在C中以Dictionary的形式返回结果
我是LINQ的新手。我想查询文件夹中的文件并将结果作为字典返回C# 如何使用LINQ在C中以Dictionary的形式返回结果,c#,linq,C#,Linq,我是LINQ的新手。我想查询文件夹中的文件并将结果作为字典返回 var queryResult = (from d in directoryInfo.GetFiles() where d.Name.EndsWith(suffix) select new Dictionary<string, string> { {d.Name,
var queryResult = (from d in directoryInfo.GetFiles()
where d.Name.EndsWith(suffix)
select new Dictionary<string, string>
{
{d.Name,""},
});
但这似乎不正确 返回一个数组
从您的问题中不清楚您想要什么作为字典键,想要什么作为值。如果你想让名字同时出现,你可以这样做
var queryResult =
(from d in directoryInfo.GetFiles()
where d.Name.EndsWith(suffix)
select d).ToDictionary(d=>d.Name, d=>d.Name);
这是一本毫无意义的字典,因为键和值是相同的
如果您确实希望保留每个文件的FileInfo,您可以改为这样做,这将为您提供一个字典:
非常感谢。这很有帮助。顺便问一下,除了调用ToDictionary方法,还有其他方法来创建dictionary吗?
var queryResult =
(from d in directoryInfo.GetFiles()
where d.Name.EndsWith(suffix)
select d).ToDictionary(k=>k.Name, v=>v);