使用linq将字典内容写入XML的最快/最短方式?

时间:2010-11-24 04:13:42

标签: c# linq dictionary

string PrintDict(Dictionary<string, string> MyDict)
{
    XElement p = new XElement("DictionaryContents");
    MyDict.ForEach(kvp => p.Add(new XElement(kvp.Key, kvp.Value)));
    return p.ToString();
}

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

反转您接近问题的方式:不要将字典写入XElement,而是尝试从字典构造XElement。 LINQ-to-XML使这一点变得特别容易。

var xml = new XElement("DictionaryContents",
    myDict.Select(kvp => new XElement(kvp.Key, kvp.Value)));

return xml.ToString();