tengo el siguiente código:¿Por qué no es coherente.Normalizar consistente según el contexto?
string input = "ç";
string normalized = input.Normalize(NormalizationForm.FormD);
char[] chars = normalized.ToCharArray();
yo construir este código con Visual Studio 2010, .net4, en un 64 bits de Windows 7.
lo ejecuto en un proyecto de pruebas unitarias (plataforma: Cualquier CPU) en dos contextos y comprobar el contenido de chars
:
- pruebas unitarias de Visual Studio: caracteres contiene
{ 231 }
. - ReSharper: caracteres contiene
{ 231 }
. - NCrunch: caracteres contiene
{ 99, 807 }
.
En el msdn documentation, no pude encontrar ninguna información que presentara comportamientos diferentes.
Entonces, ¿por qué obtengo comportamientos diferentes? Para mí, el comportamiento de NCrunch es el esperado, pero espero lo mismo para los demás.
Editar: que volver a ajustarse Net 3.5 y todavía tienen el mismo problema.
Hmm, obtengo {99, 807} con Visual Studio ... Esto implicaría que hay algo sobre la configuración de su proyecto ... Tal vez. – zmilojko
@zmilojko. Gracias por tu prueba Obtengo los mismos resultados que los tuyos en un nuevo proyecto en blanco. Por lo tanto, estoy verificando las diferencias entre los dos proyectos (winmerge en csproj), pero aún no pude encontrar relevante, razón por la cual publiqué esta pregunta: entiendo qué contexto podría inducir a un comportamiento diferente. – remio
¿Qué es 'Thread.CurrentThread.CurrentCulture' en cada caso? – AakashM