我目前正在编写一个程序,该程序会自动将一堆内存地址保存到一个类中。但是,
Convert.ToInt32(value)
似乎不想接受字符串值“ 0xB24C”作为有效整数。
“输入字符串的格式不正确。”
实际上,我能够将偏移量保存为整数,例如public const Int32 m_ArmorValue = 0xB24C;
这是我分配整数的代码;
hazedumper.netvars.m_ArmorValue = Convert.ToInt32(value);
value是字符串偏移量"0xB24C"
谁能告诉我为什么会发生此错误,或者无法将字符串内存地址/十六进制值转换为Int32。
答案 0 :(得分:0)
Convert.ToInt32()
将基数作为第二个参数。此外,您必须删除0x
前缀。有关详细信息,请参见docs
var s="0xA123";
var i = Convert.ToInt32(s.Substring(2), 16);