C# Winform 关于list.AddRange(xx)和list=xx的一个疑问

代码1:
selectConsumableInputList.FindAll(a => a.detailList == null || a.detailList.Count == 0).ForEach(a => a.detailList = detailManage.LoadOrderedDetailList(a.ID, consumaInputDetailFiled));
代码2:
selectConsumableInputList.FindAll(a => a.detailList == null || a.detailList.Count == 0).ForEach(a => a.detailList.AddRange(detailManage.LoadOrderedDetailList(a.ID, consumaInputDetailFiled)));
发现使用代码1的话,selectConsumableInputList里面除了第一个对象的detailList之外,其他的对象的detailList都是最后一个对象的detailList,而使用代码2就是正常的,selectConsumableInputList里面每个对象的detailList都是它对应的;
想请问下这是什么原因导致的?

回答

代码过于复杂,没看懂,但肯定与引用类型有关。

以上是C# Winform 关于list.AddRange(xx)和list=xx的一个疑问的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>