C#将泛型列表复制到列数较少的对象
有没有一种简单的方法可以将个人数据复制到PersonTarget 我正在使用foreach循环:C#将泛型列表复制到列数较少的对象,c#,C#,有没有一种简单的方法可以将个人数据复制到PersonTarget 我正在使用foreach循环: public class Person { public string FirstName {get; set;} public string LastName {get; set;} public string Email {get; set;} } public class PersonTarget { public string FirstName {get; set;}
public class Person
{
public string FirstName {get; set;}
public string LastName {get; set;}
public string Email {get; set;}
}
public class PersonTarget
{
public string FirstName {get; set;}
}
List people=newlist();
添加(newperson(){FirstName=“John”,LastName=“Smith”,Email=”test@example.com" });
List peopleCopy=新建列表();
foreach(人与人之间的变量)
{
添加(newpersonTarget(){FirstName=person.FirstName});
}
您可以使用linq:
List<Person> people = new List<Person>();
people.Add(new Person() { FirstName = "John", LastName = "Smith", Email = "test@example.com" });
List<PersonTarget> peopleCopy = new List<PersonTarget>();
foreach (var person in people)
{
peopleCopy.Add(new PersonTarget() { FirstName = person.FirstName });
}
老实说,这是一种反思。像AutoMapper这样的库可以为您包装这些内容。这有多容易?虽然是主观的。。。
peopleCopy = people.Select(p => new PersonTarget() {FirstName = p.FirstName}).ToList();