2

私はlinq to xmlが初めてで、次のことをしようとしています。受け取ったいくつかのオブジェクトから、新しい xml を作成しています。

"Scale" という XElement があります。ブール値 "DynamicScale" があります。ある場合は、の子孫としてFalse2 つ作成する必要があります。ある場合は、これらの要素は必要ありません。XElementsScaleTrue

  <Scale DynamicScale="False">
    <LowScale>0</LowScale>
    <HighScale>10000</HighScale>
  </Scale>

Ifこれの作成の途中でステートメントを追加する方法はありますか? または、このニーズに対処するための他の提案はありますか? これは、私ができるようにしたい場合です(このようにできないことはわかっています)。どんな簡単な方法でも大歓迎です。

new XElement("Scale",
    new XAttribute("DynamicScale", c.DynamicScale),
    if (c.DynamicScale == false)
    {
        new XElement("LowScale", c.LowScale),
        new XElement("HighScale", c.HighScale),
    })
4

2 に答える 2

5

三項演算子を使用する

new XElement(
    "Scale",
    new XAttribute("DynamicScale", c.DynamicScale), 
    c.DynamicScale ? 
        null: 
        new[]
        { 
            new XElement("HighScale", c.HighScale),
            new XElement("LowScale", c.LowScale)
        }
);
于 2013-01-28T16:00:20.930 に答える