C# list值传递
请问list是值传递还是地址传递?我做了一个例子,结果是地址传递,怎么让程序值传递?程序中应该输出的结果是nclass[0]=3、nclass[1]=2、nclass[2...
请问list是值传递还是地址传递?我做了一个例子,结果是地址传递,怎么让程序值传递?
程序中应该输出的结果是nclass[0]=3、nclass[1]=2、nclass[2]=1,但是实际情况都按照最后一次赋值时传递。请问应该怎么解决?
ps.请不要告诉我分别写3个temp赋值 展开
程序中应该输出的结果是nclass[0]=3、nclass[1]=2、nclass[2]=1,但是实际情况都按照最后一次赋值时传递。请问应该怎么解决?
ps.请不要告诉我分别写3个temp赋值 展开
展开全部
LIST<>是一个引用类型的类,不可能值传递的。
真的得需要new多个temp,但new的时候可以copy:
var temp2 = new List<int>(temp);
真的得需要new多个temp,但new的时候可以copy:
var temp2 = new List<int>(temp);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把 nClass.Add(temp) 改成 nClass.Add(new List<int>(temp))
拷贝一份进去
拷贝一份进去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询