c# - 使用 LINQ 更新通用列表 <T>

标签 c# .net linq list

我正在寻找一种方法来更新通用列表项的索引属性。

例如我有一个类:

public class ItemInfo
{
        public int SRNO { get; set }

        public Name{ get; set }
}

现在我有 List<ItemInfo> myList与项目的数量。

并希望用递增的值更新每个 Item 的 ItemInfo.SRNO

如果列表项有 10 个项目,那么“SRNO”应该像这样更新

1
2
.
.
.
10

最佳答案

实际上你不需要像这样的 LINQ:

infoList.Select((info, i) => { info.SRNO = i + 1; return info });

Enumerable.Range(0, infoList.Count).Select(i =>
    {
        var info = infoList[i];
        info.SRNO = i+1;
        return info;
    });

使用简单的 for 循环:

for (int i = 0; i < infoList.Count; i++)
{
    info[i].SRNO = i + 1;
}

关于c# - 使用 LINQ 更新通用列表 <T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10751979/

相关文章:

c# - 下载当前 WSJ.com 最优惠利率

c# - 使用内存流序列化/反序列化

c# - 如何使用 lambda 表达式从嵌套集合中获取叶节点

c# - 对使用 LINQ 查询 SQL Server 数据库 : edmx? dbml 感到困惑?数据集?

c# - 一系列数字的正则表达式和一个用于验证的字符

c# - 获取用于转换为 base 64 字符串的图像路径

.net - Caliburn Micro,消息/ Action 到另一个 ViewModel

c# - Page 有一个对 Page Model 的引用,PageModel 有一个返回页面的引用。内存会被释放吗?

c# - 为什么 string[0] = "new value"不编译?

c# - Linq 查询未按预期运行