Convert.ToInt32不接受字符串十六进制值

时间:2018-08-16 19:35:00

标签: c#

我目前正在编写一个程序,该程序会自动将一堆内存地址保存到一个类中。但是,

Convert.ToInt32(value)

似乎不想接受字符串值“ 0xB24C”作为有效整数。

  

“输入字符串的格式不正确。”

实际上,我能够将偏移量保存为整数,例如public const Int32 m_ArmorValue = 0xB24C;

这是我分配整数的代码;

hazedumper.netvars.m_ArmorValue = Convert.ToInt32(value);

value是字符串偏移量"0xB24C"

谁能告诉我为什么会发生此错误,或者无法将字符串内存地址/十六进制值转换为Int32。

1 个答案:

答案 0 :(得分:0)

Convert.ToInt32()将基数作为第二个参数。此外,您必须删除0x前缀。有关详细信息,请参见docs

var s="0xA123";
var i = Convert.ToInt32(s.Substring(2), 16);