c# - 为linq查询结果添加索引

标签 c# asp.net linq

我有一个返回 MyObject 列表的 linq 查询。我想向 MyObject 添加一个名为 TheIndex 的属性,它包含序列中项目的纵坐标。

换句话说,我需要这样的东西:

var TheResult = from d in MyDataContext
                where.....
                select new MyObject
                {
                   Property1 = d.whatever,

                   TheIndex = ?

                 }

查询返回一个 MyObject 列表,我希望列表中的每个项目都包含索引作为其属性之一。

谢谢。

最佳答案

一旦您摆脱了查询语法,您会发现一个 Select 重载,它为您提供了您正在寻找的索引。

var result = MyDataContext
   .Where(d => d.Prop == "A")
   .AsEnumerable()
   .Select((d, i) => 
      new MyObject() {
         Property1 = d.whatever,
         TheIndex = i
    });

关于c# - 为linq查询结果添加索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4999365/

相关文章:

c# - MVVM-有没有一种方法可以在不使用数据绑定(bind)的情况下获取和设置文本框的文本?

c# - 如何使用 FluentAssertions 断言集合按 2 个属性排序?

c# - AutoMapper:调用Map()函数时忽略一些参数

c# - IDictionary 有 LRU 实现吗?

javascript - 通过 JavaScript 检索所有已安装打印机的列表

asp.net - 当强制使用 SSL 时,如何排除某些文件夹被 ASP.net 中的搜索引擎索引?

c# - ASPNET 5 项目无法找到在引用的 DLL 中使用的端点配置 (ServiceModel)

c#:如何从 linq 查询中设置组合框值成员

c# - Linq-to-Entities 查询中的动态条件

c# - 为什么 List<>.OrderBy LINQ 在 Debug模式下比 IComparable+List<>.Sort 更快?