Comment Comparer les deux char[] tableaux d'équivalence?
Droit maintenant, j'ai deux char
tableaux, foo1[]
et foo2[]
. Quand je les convertir en chaîne de caractères et la sortie de la console, ils apparaissent tous DEUX comme bar
. Je sais que je peux faire quelque chose comme ceci:
int g;
for (int i=0;i<length.foo1;i++) { //loop from 0 to length of array
if (foo1[i]=foo2[i]) { //if foo1[0] and foo2[0] are the same char
g++; //increment a counter by 1
}
else //otherwise...
{
i=100; //set i to something that will halt the loop
}
if (g = length.foo1) { //if the incremented counter = length of array
return true; //arrays are equal, since g only increments
} //in the case of a match, g can ONLY equal the
else { //array length if ALL chars match
return false; //and if not true, false.
de les comparer lettre par lettre, mais je devine qu'il y a un moyen plus facile. Fait intéressant, la plupart des recherches sur google je faire pour comparing char[] for eqivalency c#
et mots clés similaires dans les résultats un ensemble de mess d'info sur la comparaison des tableaux de CHAÎNE, ou la comparaison de chaîne de caractères ou des tableaux de char lors de la PARTIE de la matrice correspond à quelque chose ou d'une autre...je n'ai pas pu trouver quoi que ce soit sur des méthodes simples de test des tableaux de char comme étant égales par ailleurs. Est mode pas à pas dans chaque tableau, la meilleure façon de faire? ou est-il un moyen pour comparer si toto1=foo2 ou toto1==foo2? Aucun de ceux qui ont travaillé pour moi.
En gros, j'ai besoin de tester si char foo1[]
et char foo2[]
sont à la FOIS {B,A,R}
<>
n'est pas valide en C#, et que vous essayez d'incrémenter une variable non initialisée. Oh, et puis votre if
déclaration n'a pas un Booléen conditoin. Ce n'est pas vraiment clair ce que le code est est destinée à faire...Je vais clarifier la question...quand j'ai dit: "je pourrais faire quelque chose COMME cela"...je n'ai pas préciser que c'était de pseudo-ish. Je n'ai AUCUNE idée de ce que vous entendez par le terme "comparaisons culturelles", donc je ne sais pas si j'ai encore besoin de s'inquiéter à ce sujet.
Envisager de "ss" et "ß" (Eszett). Si vous effectuez une culture sensible à la comparaison, ceux qui peuvent être considérés comme égaux ou non, en fonction de la culture que vous utilisez.
Ahh...il est devenu sur la culture de la sensibilité. Pour les fins de cet exercice, le café n'est PAS égale à café et tschuss n'est PAS égale à tschuß, donc de gérer culturel différences de langue ne sera pas un problème...dans certains cas, sachant que le cafe & café résoudre à ne pas égaux seront les résultats souhaités.
OriginalL'auteur dwwilson66 | 2013-05-11
Vous devez vous connecter pour publier un commentaire.
puis d'accepter la réponse si cela vous a aidé 🙂
Il montre comment comparer des chaînes, pas
char[]
.Lol, vous n'êtes pas sérieux r u
Je suis venu ici pour apprendre comment comparer deux tableaux de char sans avoir à allouer deux chaînes 🙁
OriginalL'auteur Dima
Vous êtes peut-être à la recherche pour:
OriginalL'auteur Ken Kin
Je pense que vous pouvez utiliser le SequenceEquals de comparer les tableaux, même si la vérification de deux longueurs à la première offre de meilleures performances.
OriginalL'auteur Jahan Zinedine
OriginalL'auteur AD.Net
vous pouvez faire une fonction de la vôtre qui sera plus rapide alors tout d'abord la conversion char[] à la chaîne puis de comparer deux chaînes de caractères.
1. D'abord comparer la longueur des tableaux si elles ne sont pas égaux return false.
2. début de boucle à travers et de comparer chaque char, Si vous trouvez des diff return false else après la boucle return true.
OriginalL'auteur Amit chauhan