假设我有以下内容:
int x = 0;
string newX = "0x00A3B43C";
如何将x设置为newX字符串? 我已经尝试将其转换为int32,但它会抛出System.FormatException,因此无法正常工作。
答案 0 :(得分:1)
您可以非常轻松地解析字符串:
int x;
string newX = "0x00A3B43C";
if (int.TryParse(newX.Substring(2), NumberStyles.HexNumber, CultureInfo.CurrentCulture, out x))
{
Console.WriteLine("x = {0}", x); // 10728508
}
您不需要将十六进制表示法转换为int以将其分配给int,编译器会为您处理它。例如:
int y = 0x00A3B43C;
Console.WriteLine("y = {0}", y); // 10728508
在这两种情况下,控制台都会输出值10728508
。