Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ使用索引连接到集合_C#_Linq - Fatal编程技术网

C# LINQ使用索引连接到集合

C# LINQ使用索引连接到集合,c#,linq,C#,Linq,我们有一个包含字符串的基本集合,我们希望使用LINQ根据从数据库返回的int(在同一个LINQ语句中)加入该集合,但该集合本身没有“索引”,因此,我们希望我们可以简单地引用集合的索引,即项目在集合中的位置 简单地说,在linq之外,我们会这样做 string MyString = MyCollection[MyIndex]; 但这在LINQ内部不受支持 任何帮助都将不胜感激。要在LINQ查询中参考索引,您可以利用Select()或Where() 此外,LINQ还提供了/方法,允许通过索引访问单

我们有一个包含字符串的基本集合,我们希望使用LINQ根据从数据库返回的int(在同一个LINQ语句中)加入该集合,但该集合本身没有“索引”,因此,我们希望我们可以简单地引用集合的索引,即项目在集合中的位置

简单地说,在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 function
ElementAt()
无法转换为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);