如何在c#中将十六进制值解析为Uint?

时间:2016-09-29 21:45:09

标签: c# type-conversion

假设我有以下内容:

int x = 0;
string newX = "0x00A3B43C";

如何将x设置为newX字符串? 我已经尝试将其转换为int32,但它会抛出System.FormatException,因此无法正常工作。

编辑:这不是真的重复,我不应该将十六进制转换为int来将其定义为int,对吧? Example

1 个答案:

答案 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
}

source

您不需要将十六进制表示法转换为int以将其分配给int,编译器会为您处理它。例如:

int y = 0x00A3B43C;
Console.WriteLine("y = {0}", y); // 10728508

在这两种情况下,控制台都会输出值10728508