2010-11-12 16 views

Respuesta

20

La manera más fácil es el comando LINQ Distinct():

var b = a.Distinct().ToArray(); 
+0

cadena [] b = a.Distinct(); – Rony

+1

@Rony - 'Distinct' da una matriz ... –

+1

Distintivo devuelve un IEnumerable . Necesita el ToArray() para convertirlo en una matriz. – arviman

6

Es posible que desee considerar el uso de un Set lugar de una matriz. Los conjuntos no pueden contener duplicados, por lo que agregar el segundo "a" no tendría ningún efecto. De esta forma, su colección de caracteres no contendrá duplicados y no tendrá que realizar ningún procesamiento posterior.

1

Una matriz, que empiece con, es IEnumerable<T>. IEnumerable<T> tiene un Distinct()method que puede ser usado para manipular la lista en sus valores distintos

var distinctList = list.Distinct(); 

Por último, IEnumerable<T> tiene un método ToArray():

var b = distinctList.ToArray(); 
2
var list = new HashSet<string> { }; 
    list.Add("a"); 
    list.Add("a"); 

    var countItems = list.Count(); //in this case countItems=1 
0

Creo usando C# diccionario es el mejor manera y puedo ordenar por valor usando LINQ

Cuestiones relacionadas