繁体   English   中英

填充字典的简便方法 <string,List<string> &gt;

[英]Easy way to Populate a Dictionary<string,List<string>>

问候大师,我的目标是创建一个列表字典,是否存在一种更简单的技术?

我更喜欢List(t)到IEnumerable(t),这就是我选择Ilookup或IGrouping列表的原因。

代码可以工作,但它似乎是一种凌乱的做事方式。

string[] files = Directory.GetFiles (@"C:\test");

Dictionary<string,List<string>> DataX = new Dictionary<string,List<string>>();

foreach (var group in files.GroupBy (file => Path.GetExtension (file)))
{
   DataX.Add (group.Key, group.ToList());
}

要在LINQ中完成所有操作,您可以使用ToDictionary()

string[] files = Directory.GetFiles (@"C:\test");
var DataX = files.GroupBy (file => Path.GetExtension (file))
                 .ToDictionary(g => g.Key, g => g.ToList());

或者如克劳斯指出的那样,你可以一次性完成这一切:

var DataX = Directory.GetFiles (@"C:\test")
                 .GroupBy (file => Path.GetExtension (file))
                 .ToDictionary(g => g.Key, g => g.ToList());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM