假设我有一个列表
List<ABCClass> lstABC; // it has some data
现在需要修改列表中的一项
var item = lstABC.Where(a=>a.index == 1).FirstOrDefault();
if(item != null)
item.Number = 5;
现在再次在lstABC中分配此项目的最有效方法是什么,因为我需要更新的lstABC而不创建新列表并分配给它。
答案 0 :(得分:0)
正如JohnB在评论中指出的那样,如果[[2, 4, 3, [1, 2]], [1, 5, 6], [9], [7, 9, 0]]
[2, 4, 3, [1, 2], 1, 5, 6, 9, 7, 9, 0]
确实是ABCClass
(而不是class
),那么struct
就是列表中的对象,并且对它的任何更改将在您下次浏览列表时显示。
但是,如果item
确实是ABCClass
,那么struct
只是列表中对象的副本,对其的更改将不会反映在列表中。 / p>
如果是这种情况(不太可能),则需要执行以下操作:
item