オブジェクトのリストをコンストラクタとして使用するオブジェクトの別のリストに割り当てることはできますか?リスト内のオブジェクトを別のオブジェクトに変換する
例:それは、LINQを使用して行うことができる
List<Person> people = getPeople();
List<PersonORM> peopleOrm = new List<Person>(people); // Is something like this possoble?
オブジェクトのリストをコンストラクタとして使用するオブジェクトの別のリストに割り当てることはできますか?リスト内のオブジェクトを別のオブジェクトに変換する
例:それは、LINQを使用して行うことができる
List<Person> people = getPeople();
List<PersonORM> peopleOrm = new List<Person>(people); // Is something like this possoble?
ことではありませんどのように私は、彼らがこのようなリストにある場合、コンストラクタを使用してPersonORM
にPerson
を変換しない
public class PersonORM{
public PersonORM(Person p){ /* convert */ }
public int PersonId { get; set; }
/* Other properties here */
}
public class Person{
public int PersonId { get; set; }
/* Other properties here */
}
List<T>
のコンストラクタがそれをサポートしていないので、あなたが持っている構文でそれを行うことができます。
あなたは(あなたがターゲットとしている。ネットのバージョンによって異なります)LINQを使用することができた場合は、あなたがこれを行うことができます:
List<PersonORM> personOrm = people.Select(p => new PersonORM(p)).ToList();
をこれは、元のリストの各項目からの変換を実行するためにSelect
演算子を使用しています。
:
List<PersonORM> peopleOrm = new List<Person>(people.Select(p => new PersonORM(p)));