0

我们有一个包含字符串的基本集合,我们想使用 LINQ 基于从数据库返回的 int 加入这个集合(在同一个 linq 语句中),但是集合没有这样的“索引”,所以我们是希望我们可以简单地引用集合的索引,即。项目放置在集合中的位置。

简单来说,在 linq 之外,我们会做

string MyString = MyCollection[MyIndex];

但这在 LINQ 中不受支持。

任何帮助,将不胜感激。

4

2 回答 2

2

要在 LINQ 查询中引用索引,您可以利用以下重载Select()Where()

collection.Select((item, index) => new { item, index })
          .Select(p => /* now you can refer to p.item and p.index */);

collection.Where((item, index) => index == indexFromDb);

LINQ 还提供ElementAt() / ElementAtOrDefault()方法,允许通过索引访问单个项目

于 2013-03-07T11:23:33.337 回答
0

如果您的意思是您的 Linq 集合不可索引(可通过索引访问,例如MyCollection[0]),您可以获取结果集合并调用ToList()or ToArray()。结果列表(或数组)确实有一个索引器。

于 2013-03-07T11:28:34.013 回答