我使用的语言是C#。

假设我们有一个ienumerable,这是LINQ查询的结果。 T是匿名类型。如果我们想访问此类型的元素,最好的方法是什么?

我认为有两种方法。

1)将iEnumerable转换为列表,然后访问元素。

List<T> list = result.ToList();
for(int rowIndex=0; rowIndex<list.Count; rowIndex++)
{
    double x = list[rowIndex].val;
}

2)

for(int rowIndex=0; rowIndex<result.Count(); rowIndex++)
{
    double x = result.ElementAt(rowIndex).val;
} 

我之所以想到上述内容的原因是,除了访问Ienumerable的元素之外,我还需要它们的索引。换句话说,如果元素是第一个,则第二等。

在此先感谢您的任何帮助!

有帮助吗?

解决方案

您不需要创建集合,使用 int 变量为0,并将其增加 foreach. 。然后,您有索引和元素。

int index = 0;
foreach(var x in result)
{
    // x is the element and index the current index
    Console.WriteLine("Val:{0} Index:{1}", x.val, index);
    index ++;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top