如何在XDocument创建中指定条件多个xelements?

时间:2015-04-23 19:37:37

标签: c# linq-to-xml

new XDocument(
    new XElement("first",
       condition==true?
       new XElement("second","2nd"),
       new XElement("third","3rd"):null
    )
)

上面的语法可能不对,但我希望实现的是如何在一个条件中包含多个xelements。

1 个答案:

答案 0 :(得分:3)

您不能在条件语句中使用类似的列表表达式。其中的逗号来自参数列表,?:的两个分支都必须兼容。

它应该如下所示:

new XDocument(
    new XElement("first",
       condition==true
        ? new XElement[] {new XElement("second","2nd"),
                         new XElement("third","3rd") }
        : null //new XElement[] { }
    )
)

编辑:else-branch只能使用null