是否可以使用以下内容修改集合的元素,例如List,LinkedList等:
collection.Do ( action )
Run Code Online (Sandbox Code Playgroud)
它的作用如下:
item.Value = 0
(for each item)
Run Code Online (Sandbox Code Playgroud)
我知道调查员只提供价值,而不是参考,因此问题.
如何使用LINQ做到这一点?
尝试:
void ModifyEach<T>(this IList<T> list, Func<T, T> modifier)
{
for (int n = 0; n < list.Count; n++)
list[n] = modifier(list[n]);
}
Run Code Online (Sandbox Code Playgroud)
用法:
List<int> x = new List<int> { 1, 3, 7 };
x.ModifyEach(n => n + 1); // increment each item
Run Code Online (Sandbox Code Playgroud)