2008-09-17 18 views

Respuesta

8

Asumiendo que tienen Net 3.5/LINQ:

string[] OutputArray = MyArray.Distinct().ToArray(); 
2

Se puede usar un diccionario para añadirlos con una llave, y cuando agrégalos comprueba si la clave ya existe.

string[] myarray = new string[] { "aaa", "bbb", "aaa" }; 
      Dictionary mydict = new Dictionary(); 
      foreach (string s in myarray) { 
       if (!mydict.ContainsKey(s)) mydict.Add(s, s); 
      }
1

Utilice la clase HashSet incluida en .NET 3.5.

8

Una solución podría ser utilizar LINQ como en el siguiente ejemplo:

int[] test = { 1, 2, 1, 3, 3, 4, 5 }; 
var res = (from t in test select t).Distinct<int>(); 
foreach (var i in res) 
{ 
    Console.WriteLine(i); 
} 

Eso sería imprimir la esperada:

1 
2 
3 
4 
5 
Cuestiones relacionadas