Я использую низкоуровневый API-интерфейс, где я отправляю небезопасный буферный указатель буфера, чтобы получить значение c-string.
Итак, это дает мне
// using byte[255] c_str
string s = new string(Encoding.ASCII.GetChars(c_str));
// now s == "heresastring\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(etc)";
Итак, очевидно, что я не делаю это правильно, как я избавляюсь от избытка?