Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中,将字符转换为int是安全的操作吗?_C#_.net - Fatal编程技术网

在C#中,将字符转换为int是安全的操作吗?

在C#中,将字符转换为int是安全的操作吗?,c#,.net,C#,.net,给定以下代码: string source = "Some Unicode String"; foreach( char value in source ) { int y = (int)value; } 从char到int的转换是否可能失败(以及在什么情况下)?不,不可能失败。A的范围从0x0到0xFFFF(65535),而A的范围从-2147483648到2147483647,因此所有字符值都在int范围内。从char到int的转换不会失败,只要有char值 从 NET Fra

给定以下代码:

string source = "Some Unicode String";
foreach( char value in source ) {

    int y = (int)value;

}

从char到int的转换是否可能失败(以及在什么情况下)?

不,不可能失败。A的范围从0x0到0xFFFF(65535),而A的范围从-2147483648到2147483647,因此所有字符值都在int范围内。

char
int
的转换不会失败,只要有
char

NET Framework使用Char结构来表示Unicode 性格Unicode标准使用 唯一的21位标量数,称为代码点,并定义 UTF-16编码格式,指定如何将代码点编码为 一个或多个16位值的序列。每个16位值的范围为 十六进制0x0000到0xFFFF,并存储在字符结构中。 字符对象的值是其16位数字(序数)值

简短回答,否(无)