c# – 使用Linq创建一个字典
作者:互联网
如何使用Linq创建一个Dictionary(甚至更好,一个ConcurrentDictionary)?
例如,如果我有以下XML
<students>
<student name="fred" address="home" avg="70" />
<student name="wilma" address="home, HM" avg="88" />
.
. (more <student> blocks)
.
</students>
加载到XDocument doc;并希望填充ConcurrentDictionary< string,Info> (其中关键是名称和信息是一些持有地址和平均值的类.填充信息现在不是我的关注),我该怎么做?
解决方法:
XDocument xDoc = XDocument.Parse(xml);
var dict = xDoc.Descendants("student")
.ToDictionary(x => x.Attribute("name").Value,
x => new Info{
Addr=x.Attribute("address").Value,
Avg = x.Attribute("avg").Value });
var cDict = new ConcurrentDictionary<string, Info>(dict);
标签:c,dictionary,linq,concurrentdictionary 来源: https://codeday.me/bug/20190715/1469079.html