Ответ 1
Самый простой способ - команда LINQ Distinct()
:
var b = a.Distinct().ToArray();
С# Array, Как сделать данные в массиве отличными друг от друга? Например
string[] a = {"a","b","a","c","b","b","c","a"};
как получить
string[]b = {"a","b","c"}
Самый простой способ - команда LINQ Distinct()
:
var b = a.Distinct().ToArray();
Возможно, вы захотите использовать Set вместо массива. Наборы не могут содержать дубликатов, поэтому добавление второго "а" не будет иметь эффекта. Таким образом, ваша коллекция символов всегда будет содержать дубликатов, и вам не придется выполнять какую-либо пост-обработку.
var list = new HashSet<string> { };
list.Add("a");
list.Add("a");
var countItems = list.Count(); //in this case countItems=1
Массив, с которого вы начинаете, IEnumerable<T>
. IEnumerable<T>
имеет метод Distinct()
, который можно использовать для управления списком в его различные значения
var distinctList = list.Distinct();
Наконец, IEnumerable<T>
имеет метод ToArray()
:
var b = distinctList.ToArray();
Я думаю, что использование С# Dictionary - лучший способ, и я могу сортировать по значению с помощью LINQ