0

Person オブジェクトのリストに新しいプロパティを追加し、linq で新しいリストを返すにはどうすればよいですか?

List<person> persons = GetPersonList();

そのクラスを以下に示します

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

linq を使用しているときに、すべてに true を設定する別のプロパティ (IsMale=true) を追加したいと考えています。

したくないselect new {prop1= p.Name,IsMale=true}。つまり、この新しいプロパティを作成するために他のすべてのプロパティを選択することは避けたいと考えています。これは可能ですか?

より少ないコードでそれを行う方法を探しています。やり方だけじゃない!

今、私は以下のようにやっています

select new {p,IsMale=true}

しかし、この場合、すべての古いプロパティは p 内にあります。実際のコンテキストでは、 Person オブジェクトは大きいため、これを避ける必要があります

4

2 に答える 2

1

あなたが求めているのは、多くの場合、動的言語の機能です。C#では、リストしたオプションは最高です。少なくとも現在のバージョンでは。

于 2013-10-22T05:08:40.550 に答える
0

これを実現するために、リフレクションで動的 linq を使用することができます。良い例を以下に示します。

その場で新しい PropertyInfo オブジェクトを作成する

于 2013-10-22T05:16:36.990 に答える