如果我有一个 Effect
集合即 IEnumerable<Effect>,
如何根据它们在集合中的位置设置它们的 .Name 属性?
所以最后,我只想将它们重命名为从 1 到 n。
<inside the collection>
effectInstance1.Name = Effect 1;
effectInstance2.Name = Effect 2;
effectInstance3.Name = Effect 3;
...
这可以用 Linq 实现吗?
最佳答案
LINQ 并不是真正为突变而设计的无论如何;但是,您可以使用包含索引的类似 Select
的重载。但说实话?只需循环并保留一个计数器。更容易理解,这很重要。
int position = 0;
foreach(var obj in collection) {
position++;
obj.Name = "Effect " + position.ToString();
}
关于c# - 如何根据元素的位置使用 Linq 重命名数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4892984/