为什么我不能在Descandants上调用FirstOrDefault(“XName”)

时间:2011-08-03 17:58:11

标签: .net xml linq c#-4.0 linq-to-xml

为什么我无法就此XML调用FirstOrDefault(),而我还有其他XDocumentFirstOrDefault()可用?

        var actual = new XDocument(
            new XComment("This is a comment"),
            new XElement("Root",
                         new XElement("Child1", "data1"),
                         new XElement("Child2", "data2")
                ));

        actual.Descendants("Child1"). <- FirstOrDefault does not show up.

2 个答案:

答案 0 :(得分:5)

您应该在 cs 文件的顶部添加System.Linq命名空间 如果您使用的是ReSharper,请在输入ctrl+alt+space后尝试按.并查找FirstOrDefault。 R#有助于管理命名空间。

答案 1 :(得分:0)

它对我有用:

    var actual = new XDocument(
        new XComment("This is a comment"),
        new XElement("Root",
                     new XElement("Child1", "data1"),
                     new XElement("Child2", "data2"),
            ));

    actual.Descendants("Child1").FirstOrDefault();

确保在using指令中使用System.Linq。