2013-10-22 51 views
0

如何将新属性添加到Person对象列表并在linq中返回新列表?将新属性添加到列表中的对象并返回新列表

List<person> persons = GetPersonList(); 

及其类如下所示

public class Person 
{ 
public string Name {get;set;} 
} 

虽然使用LINQ我要添加另一个属性(IsMale =真),其设置为真所有。我不想做select new {prop1= p.Name,IsMale=true}。即我想避免选择所有其他属性来创建这个新的。这可能吗?

我正在寻找如何用较少的代码来做到这一点。不只是一个如何!

现在,我做如下

select new {p,IsMale=true} 

但是,在这种情况下,所有老楼盘都在里面页。 在实际情况下,Person对象很大,所以我必须避免做this

+0

我不认为你可以得到更好然后选择'新{P,IsMale =真}}。 – MarcinJuraszek

+0

@MarcinJuraszek在linq中是不可能的? –

+0

你不能这样做。只要你能达到预期的结果,你不想使用的匿名类型。 –

回答

1

您要求的更多是Dynamic Languages的功能。在C#中,列出的选项与其获得的一样好。至少在当前版本中。

相关问题