如何使用条件选择构建LINQ to XML查询

时间:2011-11-10 16:26:53

标签: c# xml linq conditional

xml元素是可变的,具体取决于某些条件。我需要根据其他元素的值初始化一个具有不同元素的实例。

var result = (from name in names
   select new MyName
   {
      name.First  = name.Type = Fracais ? name.PreNom : name.First,
      name.Last 
   }

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

你拥有的几乎是正确的。我不得不猜测枚举和成员,因为你没有提供其他类:

   var result = from name in names
                 select new Person()
                   {
                      First = name.Type == PersonType.Fracais ? name.PreNom : name.First,
                      Last = name.Last
                   };

你可以在linq查询中拥有几乎任何表达式,包括函数调用,因此测试值并动态地改变它们是完全可以接受的。

答案 1 :(得分:0)

这个怎么样?作为一个毫无意义的选择。

var result = names.where(name => name.Type == Francais).Select(name =>
                                           name.PreNom, name.Last).Union()
    names.where(name => name.Type != Francais).Select(name.First, name.Last);