C#将列表中的对象转换为另一个对象
是否可以将对象列表分配给另一个将其作为构造函数的对象列表?
例如。
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 */ }
当如下所示的列表中时, PersonORM
使用构造函数将Person
转换为PersonORM
:
List people = getPeople(); List peopleOrm = new List(people); // Is something like this possoble?
由于List
的构造函数不支持它,因此不可能使用您拥有的语法。
如果你可以使用linq(取决于你所针对的.Net版本),你可以这样做:
List personOrm = people.Select(p => new PersonORM(p)).ToList();
这使用Select
运算符从原始列表中的每个项目执行转换。
可以使用LINQ完成:
List peopleOrm = new List(people.Select(p => new PersonORM(p)));