Sobes.tech
Back to questions
Senior
5

Как удалить дубликаты из массива? Какие способы?

Companies where asked
Сбербанк

Answer from AI

sobes.tech AI

В C# есть несколько способов удалить дубликаты из массива:

  1. Использовать LINQ и метод Distinct():
int[] array = {1, 2, 2, 3, 4, 4, 5};
var distinctArray = array.Distinct().ToArray();
  1. Использовать HashSet<T>, который автоматически хранит только уникальные элементы:
int[] array = {1, 2, 2, 3, 4, 4, 5};
var set = new HashSet<int>(array);
int[] distinctArray = set.ToArray();
  1. Для сложных объектов можно реализовать IEqualityComparer<T> и использовать его с Distinct() или HashSet.

  2. Если нужна сортировка и удаление дубликатов, можно отсортировать массив, а затем пройтись циклом, выбирая уникальные элементы.

LINQ Distinct() — самый простой и читаемый способ для большинства случаев.