2009-06-11 28 views
-1

J'ai un fichier texte que je souhaite lire et scinder en mots.Comparer deux tableaux contenant des chaînes?

J'ai un RichTextBox que je vais obtenir le texte et divisé en mots aussi.

Je veux être capable de comparer les mots dans les deux tableaux, puis afficher un message.

Comment puis-je faire cela en C#?

Répondre

2

Vous pouvez mettre des mots que vous obtenez à partir du fichier texte dans un HashSet et ceux que vous obtenez du ricktextbox1 à un autre HashSet et les recouper.

var set1 = new HashSet<string>(words1); 
var set2 = new HashSet<string>(words2); 
set1.IntersectWith(set2); 

Par ailleurs, la classe HashSet est introduit avec .Net 3.5

0

Vous pouvez toujours aller avec la force brute, en passant par les mots d'un tableau et de vérifier si elles sont dans l'autre. Pour chaque chaîne trouvée dans les deux tableaux, vous marquez la chaîne ou copiez-la dans un tableau séparé pour les chaînes situées dans les deux tableaux. Lorsque vous avez terminé, vous n'avez qu'à imprimer/compter les chaînes dans le nouveau tableau.

S'il vous plaît noter que c'est une approche très lente et il existe de meilleures façons de le faire là-bas, mais vous n'avez pas mentionné la vitesse était de l'essence, et cela vous y mènera.

Vous pouvez essayer de faire cela avec un HashSet (comme recommandé par Josh Einstein), je ne connais pas cette collection mais une recherche rapide me dit que cela pourrait très bien fonctionner.

Questions connexes