.net将List<实体1>的数据转到List<实体2>

比如说有两个实体Class,如下:

cs 复制代码
//实体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

cs 复制代码
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 .... 的情况

相关推荐
ValhallaCoder5 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
月挽清风7 小时前
代码随想录第十五天
数据结构·算法·leetcode
NEXT067 小时前
前端算法:从 O(n²) 到 O(n),列表转树的极致优化
前端·数据结构·算法
小妖66610 小时前
js 实现快速排序算法
数据结构·算法·排序算法
独好紫罗兰13 小时前
对python的再认识-基于数据结构进行-a003-列表-排序
开发语言·数据结构·python
wuhen_n13 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
2401_8414956413 小时前
【LeetCode刷题】二叉树的层序遍历
数据结构·python·算法·leetcode·二叉树··队列
独好紫罗兰13 小时前
对python的再认识-基于数据结构进行-a002-列表-列表推导式
开发语言·数据结构·python
2401_8414956414 小时前
【LeetCode刷题】二叉树的直径
数据结构·python·算法·leetcode·二叉树··递归
数智工坊14 小时前
【数据结构-树与二叉树】4.5 线索二叉树
数据结构