,evildictait​or wrote

*snip*

I (and C/C++) usually define char as a unsigned __int8 so a char is a byte (unless you're really crazy and have 9 bit bytes or something). A unicode character is not a char.

but .net char is 16bits / 2 bytes.

so what char means is not the same in .net as in classic C and C++