C# LINQ使用索引连接到集合
我们有一个包含字符串的基本集合,我们希望使用LINQ根据从数据库返回的int(在同一个LINQ语句中)加入该集合,但该集合本身没有“索引”,因此,我们希望我们可以简单地引用集合的索引,即项目在集合中的位置 简单地说,在linq之外,我们会这样做C# LINQ使用索引连接到集合,c#,linq,C#,Linq,我们有一个包含字符串的基本集合,我们希望使用LINQ根据从数据库返回的int(在同一个LINQ语句中)加入该集合,但该集合本身没有“索引”,因此,我们希望我们可以简单地引用集合的索引,即项目在集合中的位置 简单地说,在linq之外,我们会这样做 string MyString = MyCollection[MyIndex]; 但这在LINQ内部不受支持 任何帮助都将不胜感激。要在LINQ查询中参考索引,您可以利用Select()或Where() 此外,LINQ还提供了/方法,允许通过索引访问单
string MyString = MyCollection[MyIndex];
但这在LINQ内部不受支持
任何帮助都将不胜感激。要在LINQ查询中参考索引,您可以利用
Select()
或Where()
此外,LINQ还提供了/方法,允许通过索引访问单个项目。如果您的意思是您的LINQ集合不可索引(可通过索引访问,如
MyCollection[0]
),则可以获取生成的集合并调用ToList()
或ToArray()
)。结果列表(或数组)确实有索引器。您使用的是哪种Linq提供程序?您的问题是要选择每个字符串中的每N个字符吗?这在c#中的edf Linq语句中。希望有一个“加入”式的方法?!在这里查找Linq连接运算符:当我们尝试使用“ElementAt”时,我们在运行时收到此消息:-Linq to Entities无法识别方法“System.String ElementAt[String](System.Collections.Generic.IEnumerable`1[System.String],Int32)方法,并且此方法无法转换为存储表达式。Porbably te functionElementAt()
无法转换为SQL查询,它只适用于对象。是的,确切地说,有人有其他想法吗?我认为将一个实体表的整数值链接到本地集合会很简单!我们使用的是ObservableCollection,因此它确实有一个枚举数,但没有一个特定的索引属性,我们可以在linq“join”中引用。我在这里对我的问题做了更好的解释,好的,但下次请更新您的原始问题,而不是创建新问题。
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);