C # Array, как сделать данные в массиве отличными друг от друга? Например
string[] a = {"a","b","a","c","b","b","c","a"};
как достать
string[]b = {"a","b","c"}
Самый простой способ - это команда LINQ Distinct():
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() метод , который можно использовать для манипулирования списком с его различными значениями
IEnumerable<T>
var distinctList = list.Distinct();
Наконец, IEnumerable<T> имеет метод ToArray():
ToArray()
var b = distinctList.ToArray();
Я думаю, что использование c # Dictionary - лучший способ, и я могу сортировать по значению, используя LINQ