列出参考问题c#

Rah*_*jan 2 c# linq asp.net

我有一个列表说listOriginal,并将其存储在Viewstate ..

ViewState["Origion"] = listPatientEncounter;
Run Code Online (Sandbox Code Playgroud)

现在,我需要在列表项中进行一些格式化并将其保存在另一个Viewstate中以供进一步使用..

 List<....> listCopy = new List<....>();
 listCopy= (from n in listOriginal select n).ToList();

 //This method formattes a few listCopy items
   ViewState["copylist"] = ConverttoUTCTime(listCopy);
Run Code Online (Sandbox Code Playgroud)

但是,问题是在第二个列表中所做的更改也会在第一个列表中显示操作,因为我遇到了我想要使用的问题,ViewState["Origion"]其中包含其原始状态中的项目.

小智 5

如果列表项是对象,则更改源对象的属性..ToList()正在创建新的列表对象,而不是克隆项目.

换句话说,它将是具有相同项目的"另一个"列表.

要解决此问题,您应该克隆列表项.