xml元素是可变的,具体取决于某些条件。我需要根据其他元素的值初始化一个具有不同元素的实例。
var result = (from name in names
select new MyName
{
name.First = name.Type = Fracais ? name.PreNom : name.First,
name.Last
}
有什么想法吗?
答案 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);