Mazin78 Ответов: 1

Как выбрать элемент в списке, C#?


У меня есть список элементов, как я могу выбрать два последовательных элемента каждый раз, например (1 и 2) (2 и 3) (3 и 4)...и т. д.?

Что я уже пробовал:

for (i = 0; i <= list.Count-1; i++)
           {
               //var first = list(i);
               //var second = list(i+1);

           }

johannesnestler

так в чем же проблема? Вы говорите о выборе, так что вопрос, возможно, имеет отношение к проблеме UI-компонента/элемента управления, потому что сам "список" не имеет функции выбора. Поэтому, пожалуйста, постарайтесь сформулировать лучший вопрос и объяснить свою реальную проблему...

1 Ответов

Рейтинг:
9

Richard Deeming

Предполагая, что источник реализует IList<T> или IReadOnlyList<T>:

for (int i = 0; i < list.Count - 1; i++)
{
    var first = list[i];
    var second = list[i + 1];
}

Если вы хотите использовать LINQ:
foreach (var pair in list.Zip(list.Skip(1), (first, second) => (first, second)))
{
    var first = pair.first;
    var second = pair.second;
}
(С помощью новый синтаксис кортежа значений C# 7[^]. Если вы используете более старый компилятор или ориентируетесь на более старую платформу, вместо этого используйте анонимный тип.)


Mazin78

Спасибо, это дает мне то, что мне нужно.