LINQ连接到使用索引的集合
本文关键字:索引 集合 连接 LINQ | 更新日期: 2023-09-27 18:02:47
我们有一个包含字符串的基本集合,我们想使用LINQ根据从数据库返回的int(在相同的LINQ语句中)连接到这个集合,但是集合没有这样的"索引",所以我们希望我们可以简单地引用集合的索引。
简单来说,在linq之外,我们会做
string MyString = MyCollection[MyIndex];
但是在LINQ中不支持
要在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()方法,允许通过索引
如果您的意思是您的Linq集合是不可索引的(通过索引访问,如MyCollection[0]
),您可以使用结果集合并对其调用ToList()
或ToArray()
。生成的列表(或数组)确实有一个索引器。