Лучший способ доступа к элементу подъема

StackOverflow https://stackoverflow.com/questions/20353350

  •  25-08-2022
  •  | 
  •  

Вопрос

Язык, который я использую, 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