在C#中,如何将十六进制字符串转换为int?

Alo*_*kin 4 c#

如何转换以下字符串:

6F
Run Code Online (Sandbox Code Playgroud)

例如,到正常的int?它是十六进制值.

谢谢.

jas*_*son 11

string s = "6F";
int i = Int32.Parse(s, NumberStyles.AllowHexSpecifier);
Console.WriteLine(i); // prints "111" to the console
Run Code Online (Sandbox Code Playgroud)

有关详细信息NumberStyles,请参阅MSDN.

  • 只是风格推荐.如果您将变量声明为"int",则应使用"int.Parse()".如果您使用的是Int32,请使用Int32.Parse().你应该按照标准用法,无论你选择哪一个. (5认同)
  • 使用int.Parse而不是int32实际上会更好. (2认同)
  • @womp,我实际上更喜欢Jason使用的样式,出于某种原因,感觉更自然就像声明一个原始int并在Int32类上调用方法Parse. (2认同)

Tra*_*vis 5

 int num = Int32.Parse(strValue, System.Globalization.NumberStyles.HexNumber);
Run Code Online (Sandbox Code Playgroud)