Con el fin de depurar un problema en mi código, que han declarado las dos cadenas siguientes, suponiendo que serían equivalentes:Igualdad de cadenas: ¿Qué está pasando aquí?
String print = "8A9B485ECDC56B6E0FD023D6994A57EEC49B0717";
String newPrint = thumbprint.Trim().Replace(" ", "").ToUpper();
he descubierto que no son. Genial, esta es la fuente de mi problema. Sin embargo, estoy verificando las cosas en la ventana inmediata (en la línea que sigue a las declaraciones) y no entiendo qué está sucediendo. Aquí está la salida:
print
"8A9B485ECDC56B6E0FD023D6994A57EEC49B0717"
newPrint
"8A9B485ECDC56B6E0FD023D6994A57EEC49B0717"
String.Compare(print, newPrint);
0
print == newPrint
false
print.Equals(newPrint)
false
¿eh? ¿Por qué no son iguales?
edición:
necesito utilizar 'huella digital' como la base. Es una cadena ingresada por el usuario. Solo estoy usando 'newPrint' como una variable temporal para mantener el valor recortado/aumentado. imprimir es el resultado esperado.
huella digital!= imprimir –
Su primera variable es "imprimir", su segunda variable se basa en "huella digital", por lo que es muy posible que no sean equivalentes. ¿Es esto solo un error tipográfico? – BunjiquoBianco
@DanielHilgarth ignora qué es la huella digital. no importa, mira la salida. – Erix