.NET\C#日常开发随手记----解决一个集合引用另一个集合导致一起改变

遇到的问题:

将现有的一个集合赋值给另一个集合,但是在操作第二个集合进行数据变更的时候,第一个集合中的数据也会跟着改变

在这里插入图片描述

深度拷贝(已封装为一个泛型通用方法复制即用):

/// <summary>
/// 深度拷贝集合方法----解决一个集合引用另一个集合导致一起改变
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="list1"></param>
/// <param name="list2"></param>
/// <returns></returns>
public static List<T> DeepCopyList<T>(IList<T> list1 , out List<T> list2)
{
   
	MemoryStream ms = new MemoryStream();
	BinaryFormatter bf = new BinaryFormatter();
	bf.Serialize(ms, list1);
	ms.Position = 0;
	list2 = (List<T>)bf.Deserialize(ms);
	return list2;
}

使用到的类(类需要标记可序列化特性):

[Serializable]
public class Student
{
   
	public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

焦糖丨玛奇朵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值