J'aimerais connaître une méthode efficace pour éliminer les éléments en double d'un tableau à chaîne en C #.
Par exemple, P>
1) Sorted the array 2) Replaced the duplicate entries with null 3) Copied NOT null string to a new array.
4 Réponses :
Vous pouvez utiliser un hashset:
Puis-je utiliser Var dans VS 2005 avec .NET 2.0?
Vous ne pouvez pas redimensionner un tableau dans .NET, alors quelle que soit la manière que vous utilisez pour supprimer les duplicats, vous devez créer un nouveau tableau pour le résultat.
Vous pouvez utiliser un hashset
a = new HashSet<string>(a).ToArray();
J'ai installé la mise à jour .NET 3.5. Mais je reçois l'erreur "," System.collections.Generic.HashSet
@pragadheesh: le toarray code> n'est pas une méthode dans la classe elle-même, c'est une méthode d'extension. Vous avez besoin de
à l'aide de system.linq; code> en haut du fichier pour obtenir les méthodes d'extension.
Si vous utilisez .NET 3.0, vous pouvez utiliser LINQ:
using System; using System.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string[] a = { "abc", "xyz", "abc", "def", "ghi", "asdf", "ghi", "xd", "abc" }; string[] b = a.Distinct().ToArray(); foreach (string s in b) Console.WriteLine(s); Console.ReadLine(); } } }