我认为这个问题是 C# 等面向对象语言中的值/引用实例化问题。但我是新手,我不知道如何转身。
我有一段代码的方法:
List<CSpropr> listActionpropr = CSpropr.searchList(actionCondition); // Get a list of all records of table PROPR for the 'actioncondition' specified
// For each record...
foreach (CSpropr instance in listActionpropr)
{
instance.ValName = "John";
instance.ValPhone = 323234232;
instance.update(); // This make and UPDATE of the record in DB
}
稍后在相同的方法中,我想在更新之前使用 listActionpropr 的第一个版本。进行某种回滚。但是,当我迭代 listActionpropr 变量时,我会得到包含名称和电话值更改的记录列表。例如:
foreach (CSApropr instance1 in listActionpropr )
{
instance1.update();
}
有没有一种优雅的方法来保留值而不创建对其他变量的新搜索?像这样:
List<CSpropr> listActionpropr = CSpropr.searchList(actionCondition); // Get a list of all records of table PROPR for the 'actioncondition' specified
List<CSpropr> preservedList = CSpropr.searchList(actionCondition); // Get a list of all records of table PROPR for the 'actioncondition' specified
// For each record...
foreach (CSpropr instance in listActionpropr)
{
instance.ValName = "John";
instance.ValPhone = 323234232;
instance.update(); // This make and UPDATE of the record in DB
}
....
foreach (CSApropr instance1 in preservedList )
{
instance1.update();
}