我有一堂课。
public class abc
{
public int i = 0;
public string a = "";
}
========================================
现在,我在 abc 类类型的列表中插入一些记录
List<abc> c = new System.Collections.Generic.List<abc>();
abc a = new abc();
a.a = "1";
a.i = 1;
c.Add(a);
a = new abc();
a.a = "1";
a.i = 2;
c.Add(a);
============================================
创建一个列表变量并添加一些过滤记录。
List<abc> temp = new System.Collections.Generic.List<abc>();
temp.AddRange(c.Where(i => i.i == 1));
================================================
Query = 通过执行以下代码行也将更改 c 变量。
我知道这两个点都指向同一个内存位置。有没有办法修复这个代码?
foreach (abc d in temp)
{
d.i = 10;
}