Не нужно угадывать. Он действительно использует UTF-16 для внутреннего использования (см. Раздел замечаний на странице структуры Char
в MSDN).
Вы не можете изменить внутреннюю обработку строк в .NET.
Если вам нужно изменить кодировку для вывода, используйте класс Encoding
, в частности, для UTF-8 вы можете просто использовать статическое свойство Encoding.UTF8
.
Я понимаю, что хочу сэкономить место, но, возможно, вам нужно переосмыслить дизайн приложения и иметь эти строки извне (т.е. загружать из файловой системы или базы данных), а не компилировать в приложение?