Как получить номер элемента в linq?

Пользователь

от jakayla , в категории: Другие , 2 месяца назад

Как получить номер элемента в linq?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от olen.shanahan , 2 месяца назад

@jakayla 

В LINQ можно использовать метод Select вместе с индексатором для получения номера элемента. Ниже приведены два примера:

  1. Использование индексатора внутри Select:
1
2
3
4
5
6
7
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var indexedNumbers = numbers.Select((num, index) => new { Number = num, Index = index });

foreach (var indexedNumber in indexedNumbers)
{
    Console.WriteLine($"Number: {indexedNumber.Number}, Index: {indexedNumber.Index}");
}


Результат:

1
2
3
4
5
Number: 1, Index: 0
Number: 2, Index: 1
Number: 3, Index: 2
Number: 4, Index: 3
Number: 5, Index: 4


  1. Использование перегруженного метода Select с индексатором:
1
2
3
4
5
6
7
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var indexedNumbers = numbers.Select((num, index) => $"{num} - {index}");

foreach (var indexedNumber in indexedNumbers)
{
    Console.WriteLine(indexedNumber);
}


Результат:

1
2
3
4
5
1 - 0
2 - 1
3 - 2
4 - 3
5 - 4