c# - 如何根据元素的位置使用 Linq 重命名数据?

标签 c# .net linq ienumerable

如果我有一个 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/

相关文章:

c# - 从列表中获取列表中的所有元素

c# - 比较两个 DLL

c# - Linq 快速相交查询 - 增强?

c# - 泛型可以改进这种设计吗?

c# - 插入 MS Access 语句中的语法错误

c# - "Storing"ArrayList 中的值类型

c# - 在 windows universal 8.1 中获取操作系统版本

c# - 不支持异常 : LINQ to Entities does not recognize the method

c# - 是否有机会使用 Linq (C#) 获得唯一记录?

c# - DateTime.Now 是 future 使用的可靠方法吗?