C # Определить дубликат в списке - PullRequest
59 голосов
/ 22 февраля 2011

Требование: в несортированном списке определите, существует ли дубликат. Типичный способ сделать это - вложенный цикл с квадратом n. Мне интересно, как другие решают это. Есть ли в Linq элегантный, высокопроизводительный метод? Было бы неплохо что-то общее, что требует лямбда или компаратор.

Ответы [ 11 ]

0 голосов
/ 03 февраля 2018

Вы можете использовать оператор Distinct() для поиска уникальных записей.Затем сравните с оригинальным общим списком, например:

  if (dgCoil.ItemsSource.Cast<BLL.Coil>().ToList().Count != dgCoil.ItemsSource.Cast<BLL.Coil>().Select(c => c.CoilNo).Distinct().Count())
  {    
    //Duplicate detected !!
    return;
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...