У меня есть следующий код:
string input = "ç";
string normalized = input.Normalize(NormalizationForm.FormD);
char[] chars = normalized.ToCharArray();
Я создаю этот код с Visual studio 2010,.net4, на 64-битных окнах 7.
Я запускаю его в проекте единичных тестов (платформа: любой процессор) в двух контекстах и проверяю содержимое chars
:
- Модульные тесты Visual Studio: символы содержат
{ 231 }
. - ReSharper: символы содержат
{ 231 }
. - NCrunch: chars содержит
{ 99, 807 }
.
В msdn documentation я не мог найти никакой информации, представляющей разные типы поведения.
Итак, почему у меня другое поведение? Для меня поведение NCrunch является ожидаемым, но я ожидал бы то же самое для других.
Edit: Я переключился на .Net 3.5 и по-прежнему имею ту же проблему.