c# - 列表引用问题c#

标签 c# asp.net linq

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

ViewState["Origion"] = listPatientEncounter;

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

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

 //This method formattes a few listCopy items
   ViewState["copylist"] = ConverttoUTCTime(listCopy);

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

最佳答案

如果列表项是一个对象,那么您更改了源对象的属性。 .ToList() 正在创建新的列表对象,而不是克隆项目。

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

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

关于c# - 列表引用问题c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13802461/

相关文章:

c# - 获取特定类型的所有控件

c# - 使用 LINQ 可以在不使用 foreach 的情况下突出显示 TreeNode 吗?

c# - 在asp net core mvc中解析路由段

c# - 根据条件从列表中删除重复项

c# - 如何交换与 Linq 查询关联的数据源?

c# - 如何获取子数组的引用

c# - 无法限制 slider 值的小数点 + 一次在 ToggleButtons 上设置 IsChecked

asp.net - 如何在页脚后的页面底部放置黑色

c# - 我可以压缩 Response.write 吗?

c# - 使用 LINQ 选择多个字段的简单方法