比如说有两个实体Class,如下:
//实体1
public class People
{
public string Name {get;set;}
public int Age {get;set;}
}
//实体2
public class Student
{
public string Name {get;set;}
public int Age {get;set;}
public string ClassRoom {get;set;}//这个是与实体1不相同的地方
}
再比如说,从数据库里查询 People 表有关数据 N条,
现在要将 List<People> 里面的所有数据(listPeople) 全部转移到 List<Student> 中去(listStuden)...
由于 People类 和 Student类 里面的属性差不多(名称一样,类型一样),
可以用 Json对象来过渡一下,先将 listPeople 转成 json字符串, 再将json字符串转成 listStuden
using Newtonsoft.Json;
List<People> listPeople = .........;//这里是从数据库里取出数据N条的过程,略
string json = JsonConvert.SerializeObject(listPeople);//将转listPeople成json字符串
List<Student> listStudent = JsonConvert.DeserializeObject<List<Student>>(json);//将json字符串转成listStudent
这个适合于,拥有大量属性的类(有几十个属性的那种),会发现用 foreach 来复制值,会写上一大坨:a.属性1=b.属性1 .... 的情况