繁体   English   中英

将字符串的字符分配给 int 数组会分配错误的值

[英]assigning a string's chars to an int array assigns the wrong value

如果我用

string = "12";

并检查其值

Console.Write(string[0] + string[1]);

它按预期返回 12 。

但是如果我通过将 string[0] 分配给一个 int 数组

int[0] = string[0];

并通过检查其值

Console.Write(int[0]);

它返回 49。

即使我在分配时使用了Convert.ToInt32() ,它仍然返回 49。

编码

结果

你能帮帮我吗?

您正在将 char '1' 转换为有效的 int 。 根据 ASCII 表是 49。

例如,将“A”分配给 int[0] 会将其值设置为 65。

您必须只使用 int.Parse()。

它返回 49 因为您试图将值1转换为 integer 并且1的 ASCII 值是 49。如果要将值打印为1只需要使用字符串,那么您可以使用类似于此int.Parse(stringValue);的代码int.Parse(stringValue); 或者您也可以使用TryParse方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM