Or is it always guaranteed to be positive for all possible Chars?
Since the range of char is U+0000 to U+ffff, then a cast to an Int32 will always be positive.
Int32