How can I convert a string value like "0x310530" to an integer value in C#?
I\'ve tried int.TryParse (and even int.TryParse with Syste
From MSDN:
NumberStyles.AllowHexSpecifier
Indicates that the numeric string represents a hexadecimal value. Valid hexadecimal values include the numeric digits 0-9 and the hexadecimal digits A-F and a-f. Strings that are parsed using this style cannot be prefixed with "0x" or "&h".
So you have to strip out the 0x
prefix first:
string s = "0x310530";
int result;
if (s != null && s.StartsWith("0x") && int.TryParse(s.Substring(2),
NumberStyles.AllowHexSpecifier,
null,
out result))
{
// result == 3212592
}