Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
给定以下代码:
string source = "Some Unicode String"; foreach( char value in source ) { int y = (int)value; }
从 char 到 int 的转换是否有可能失败(以及在什么情况下)?
不,它不可能失败。char的范围从 0x0 到 0xFFFF (65535),而int的范围从 -2,147,483,648 到 2,147,483,647,所以 char 的所有值都在 int 的范围内。
从charto的转换int不会失败,具有任何char价值。
char
int
来自.NET 4.0 参考
.NET Framework 使用 Char 结构来表示 Unicode 字符。Unicode 标准用一个称为代码点的唯一 21 位标量数字标识每个 Unicode 字符,并定义了 UTF-16 编码形式,该形式指定代码点如何编码为一个或多个 16 位值的序列。每个 16 位值的范围从十六进制 0x0000 到 0xFFFF,并存储在 Char 结构中。 Char 对象的值是它的 16 位数字(序数)值。