引用类型赋值处理,避免修改之后影响原值

编程入门 行业动态 更新时间:2024-10-12 14:16:59

引用类型<a href=https://www.elefans.com/category/jswz/34/1769111.html style=赋值处理,避免修改之后影响原值"/>

引用类型赋值处理,避免修改之后影响原值

主要是为了解决在使用引用类型的时候,传参到函数内进行了参数的赋值,返回另外一个值导致传参的值被修改了;

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;

}

该代码可以建一个控制台程序运行一下,有问题的话可以给我留言

更多推荐

引用类型赋值处理,避免修改之后影响原值

本文发布于:2024-03-23 18:39:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741486.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:赋值   原值   类型

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!