更改变量也会更改另一个变量。防止变量具有相同的引用
|
我有一个类,构造函数需要一个类和其他类似的东西:
public class SomeClass<T>
{
//global private variables for class
List<T> originalList = new List<T>;
List<T> tempList = new List<T>;
public SomClass(List<T> listParam, string name, ..etc)
{
originalList = listParam;
tempList = listParam;
originalList.removeAt(0); // this also removes an item from tempList.
}
}
我知道这是因为originalList和tempList具有相同的引用。我如何使它们具有不同的引用。我使用tempList过滤结果,每当要刷新时,我都使用originalList
没有找到相关结果
已邀请:
2 个回复
埃庐
,而不仅仅是分配其引用:
请注意,这不会为列表中的每个对象创建一个副本,而只是为这些对象创建引用的副本。
屡倒雷图
,而是接受
。如果您想要一个具体的清单,请在其上拨打
。 原始来源不受影响,并且您有副本。您还可以选择支持该界面的任何东西。 编辑:我误解了问题中的代码,您的副本位于同一课程中。好吧,它在两个地方,即类和调用者。我支持我的建议,但是,是的,您需要两次调用
,每个拷贝一次。