Back to questions
Senior
5
Как удалить дубликаты из массива? Какие способы?
Companies where asked
Сбербанк
Answer from AI
sobes.tech AI
В C# есть несколько способов удалить дубликаты из массива:
- Использовать LINQ и метод
Distinct():
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
- Использовать
HashSet<T>, который автоматически хранит только уникальные элементы:
int[] array = {1, 2, 2, 3, 4, 4, 5};
var set = new HashSet<int>(array);
int[] distinctArray = set.ToArray();
-
Для сложных объектов можно реализовать
IEqualityComparer<T>и использовать его сDistinct()илиHashSet. -
Если нужна сортировка и удаление дубликатов, можно отсортировать массив, а затем пройтись циклом, выбирая уникальные элементы.
LINQ Distinct() — самый простой и читаемый способ для большинства случаев.