Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#将泛型列表复制到列数较少的对象_C# - Fatal编程技术网

C#将泛型列表复制到列数较少的对象

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;}

有没有一种简单的方法可以将个人数据复制到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;}
}
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();