赋值处理,避免修改之后影响原值"/>
引用类型赋值处理,避免修改之后影响原值
主要是为了解决在使用引用类型的时候,传参到函数内进行了参数的赋值,返回另外一个值导致传参的值被修改了;
1.解决方案,使用序列化的方式进行赋值可以解决该问题
public class Meachin
{
public List<Train> trains { get; set; }
}
public class Train
{
public string Name { get; set; }
}
static void test(Meachin meachin)
{
var list = new List<Train>();
foreach (var item in meachin.trains)
{
var ss = JsonConvert.SerializeObject(item);
Train refundApply = JsonConvert.DeserializeObject<Train>(ss);
refundApply.Name = "xiaoma";
}
}
static void Main(string[] args)
{
Train train = new Train();
train.Name = "小李";
var list =new List<Train>();
list.Add(train);
Meachin meachin = new Meachin();
meachin.trains = list;
test(meachin);
var tt = meachin;
}
该代码可以建一个控制台程序运行一下,有问题的话可以给我留言
更多推荐
引用类型赋值处理,避免修改之后影响原值
发布评论