我有以下代码:
// Order a list
var orderedList = myList.OrderBy(x => x.name);
// Take few elements to another list (copies as reference)
List<GameObject> myList2 = orderedList.Where(x => x.z == y).ToList();
// Rename the objects in myList2
foreach(stuff in myList2)
{
stuff.name = "Renamed";
}
问题是为什么在修改 myList2 中对象的属性后会更改orderedList 的顺序?
例如,如果有序列表是“a,b,c,d”,我将“ b ”和“ c ”带到 myList2。然后,orderedList 将是“ a,d,Renamed,Renamed”而不是“ a,Renamed,Renamed,d ”。