Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
 Аватар для Hastin
40 / 32 / 7
Регистрация: 24.03.2016
Сообщений: 270

Узнать, есть ли в коллекции одинаковые элементы

23.12.2016, 21:45. Показов 4565. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, есть коллекция List<string>.

В ней набор элементов, а теперь вопрос, как узнать, они все уникальны или же есть хоть одна пара, которая идентична? Я кодил весь день, уже не соображаю как это сделать красиво и аккуратно, буду признателен, если мне набросают функцию, спасибо, и вам + в реп
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.12.2016, 21:45
Ответы с готовыми решениями:

Удалить одинаковые элементы из коллекции List(Product)
Подскажите , как можно удалить одинаковые элементы из коллекции типа List&lt;Product&gt; (одинаковыми можно считать экземпляры с совпадающим...

У меня есть массив обобщенной коллекции, как мне отсортировать элементы этого массива?
У меня есть массив обобщенной коллекции, как мне отсортировать элементы этого массива?

Заменить элементы одной коллекции на элементы другой коллекции
Всем привет, у меня такой вопрос: есть 2 коллекции: List&lt;Person&gt; list1 = new List&lt;Person&gt; { ...

5
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
23.12.2016, 23:26
Лучший ответ Сообщение было отмечено Hastin как решение

Решение

Hastin,
C#
1
2
3
4
5
6
static bool AllUnique<T>(IEnumerable<T> items)
{
    var set = new HashSet<T>();
    foreach (T i in items) if (!set.Add(i)) return false;
    return true;
}
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
24.12.2016, 02:20
писАл на коленке
C#
1
bool result = (array.Length - array.Distinct().ToArray().Length)==0;
array оформляй как тебе нравиццо
1
 Аватар для Hastin
40 / 32 / 7
Регистрация: 24.03.2016
Сообщений: 270
24.12.2016, 20:01  [ТС]
Diamante, но разве Distinct() не удаляет элементы ?)
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
24.12.2016, 20:22
Цитата Сообщение от Hastin Посмотреть сообщение
но разве Distinct() не удаляет элементы
Distinct() возвращает итератор по исходной коллекции, который будет содержать только уникальные элементы (для сравнения будет использован компаратор по умолчанию - EqualityComparer<T>.Default, либо Вы можете указать собственный компаратор при вызове метода Distinct). Так что нет, Distinct ничего не удаляет, и с исходной коллекцией ничего не произойдёт.
1
 Аватар для Hastin
40 / 32 / 7
Регистрация: 24.03.2016
Сообщений: 270
25.12.2016, 01:01  [ТС]
bax_tang, Спасибо вам за информацию )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.12.2016, 01:01
Помогаю со студенческими работами здесь

С помощью LINQ проверить, есть ли в коллекции одинаковые элементы
Есть массив int mass3 = new int { 9, 9, 8, 5, 13, 3, 2, 6, 4, 0 };, не знаю, как с помощью LINQ проверить, есть ли в нем одинаковые...

Узнать, есть ли в файле одинаковые числа
Дан бинарный файл с натуральными числами. Выполнить надо 5 условий, не знаю, как узнать, есть ли в файле одинаковые числа и как можно...

Есть последовательность X1, ., X50. Узнать, есть ли среди них нулевые элементы, и если есть, то сколько
Есть последовательность X1, ..., X50. Узнать, есть ли среди них нулевые элементы, и если есть, то сколько.(масив)

Узнать, есть ли в полученном числе одинаковые цифры
Как на Си узнать, есть ли в полученном числе одинаковые цифры? Величина числа неизвестна.

Проверить, есть ли в одномерном массиве X, A(n) и B(n) одинаковые элементы, если есть, то найти среди них наибольший
Проверить, есть ли в одномерном массиве X, A(n) и B(n) одинаковые элементы, если есть, то найти среди них наибольший. Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru