Je travaille sur un projet et pour une partie je dois comparer 2 chaînes. Mon problème est que chaque fois que je tente de les comparer, je reçois toujours faux (==, .Equals(), String.Equals()
- ils sont tous faux retour, même si j'ai 2 cordes complètement identiques)C# String.Equals renvoie false sur des chaînes identiques
est ici une partie de mon code.
var tagType = JObject.Parse(json).First.First.ToString();
foreach (var type in assembly.ExportedTypes)
{
var name = tagType;
var currentType = type.Name;
var a = name.Length;
var b = currentType.Length;
var result = currentType == name;
var result1 = currentType.Equals(name);
var result2 = String.Equals(name, currentType, StringComparison.CurrentCulture);
var result3 = String.Equals(name, currentType, StringComparison.InvariantCulture);
var result4 = String.Equals(name, currentType, StringComparison.Ordinal);
var result5 = String.Equals(name, currentType, StringComparison.CurrentCultureIgnoreCase);
}
maintenant lors du débogage mon foreach
, je fini par atteindre un point où le nom et currentType
tous deux égaux la même chaîne - « AutoIncrementTag ». Au même point, leurs longueurs (a et b) sont égales - 16 caractères.
C'est ce que la sortie de débogage ressemble:
//name - "AutoIncrementТаg"
//currentType - "AutoIncrementTag"
//a - 16
//b - 16
// result - false
// result1 - false
// result2 - false
// result3 - false
// result4 - false
// result5 - false
Et toutes les comparaisons ci-dessous fausse déclaration.
J'ai même essayé de créer une nouvelle chaîne à partir de "nom" et de currenType. Et rien.
Je suis vraiment coincé ici. Comment deux chaînes identiques (de même longueur, donc pas de caractères cachés) peuvent renvoyer false avec n'importe quel type de comparaison.
Si 'String.Equals' retourne false, les chaînes ne sont pas identiques. Quelle est la valeur du résultat lors du débogage? –
Pouvez-vous fournir un exemple vérifiable? Juste par code de plan, il semble que vos chaînes ne sont pas égales. – Link
Juste édité mon message pour montrer la sortie de débogage qui m'inquiète. J'espère que cela illustre mon problème. (Les valeurs sont toutes copiées/collées depuis la fenêtre de débogage) – Kobek