为什么char的Convert.ToInt32返回ascii代码?

CaveCoder

为什么此代码显示的是48(ASCII代码为0)而不是0?

char c = '0';
Console.WriteLine(Convert.ToInt32(c));

有什么特殊原因吗?

康拉德·科科萨(Konrad Kokosa)

因为,如MSDN所述,Convert.ToInt32方法(Char)返回:

一个32位带符号整数,表示value参数的UTF-16编码代码点

代码点表示:

在字符编码术语中,代码点或代码位置是组成代码空间的任何数值。例如,ASCII包含128个代码点,范围从0h到7Fh

从逻辑的角度来看,您会期望得到什么结果Convert.ToInt32('a')转换用于类型转换,而不用于解释。解释可以通过Parse-kind方法完成。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ToInt32()是C#中的扩展方法吗?特别是Convert.ToInt32()

NaN不按位排列:为什么ToInt32将NaN转换为零?

为什么存在Convert.ToInt32(Int32)?

为什么sizeof(char + char)返回4?

为什么 strcpy 返回 char * 而不是 char

当“不支持”操作时,为什么会有Convert.ToInt32(DateTime)方法?

为什么 .NET Core Convert.ToInt32 四舍五入奇数

为什么我的函数在应返回char时返回垃圾?

为什么strcmp返回int但不返回char?

Convert.ToInt32与TryParse

为什么此代码对于char *来说速度很快?

为什么我的代码显示 char 变量的错误值

结构中的char数组-为什么strlen()返回正确的值?

为什么CHAR和VARCHAR在MySQL中返回相同的长度?

为什么to_char和to_date返回不同的结果

为什么* p为(char * p =“ hello world”)返回整数

为什么将fgetc()返回到char iso int?

为什么我可以在函数后返回“ int”而不是“ char *”?

为什么我的char *复印机返回不同的东西?

为什么char * foo()返回空字符串?

为什么要返回这个值?C ++ int / char混淆

需要JavaScript / ecma262 ToInt32算法说明

为什么此代码无法将char推回vector <char>中?

为什么Char.IsDigit对于无法解析为int的char返回true?

为什么我可以返回使用'char.to_ascii_lowercase()`但不使用'str.to_lowercase()`的自有值

为什么mb_convert_encoding返回false?

为什么cout与三元数和int一起使用时为什么打印char的ascii值?

为什么不能通过Convert.ToInt将Console.ReadLine转换为int

如果nullptr_t不是关键字,为什么是char16_t和char32_t?