@embiid

Как найти повторяющиеся элементы в списке?

К примеру, есть такой список:
List<int> numbers = new List<int>{5, 3, 5, 9, 7, 8, 22, 5};


Нужно найти индекс элементов, где значения = 5 и вывести их

Вот единственно, что я смог, вывести только 1й элемент 5.
int indx = numbers.FindIndex(item => item == 5);
  • Вопрос задан
  • 1433 просмотра
Решения вопроса 1
ayazer
@ayazer
Sr. Software Engineer
судя по описанию и тегам вопрос все-же "как найти индексы повторяющихся элементов используя linq"

var lst = new List<int>() { 1, 2, 3, 5, 1, 6, 5 };

            var result = lst.Select((el, idx) => (el, idx))
                .GroupBy(c => c.el)
                .Where(g => g.Count() > 1)
                .SelectMany(g => g.Select(c => c.idx).ToList())
                .ToList();  // [0, 4, 3, 6]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы