Преобразовать строку, содержащую шестнадцатеричное значение, начинающееся с «0x», в целое или длинное

Как преобразовать строковое значение, например «0x310530», в целочисленное значение в C #?

Я пробовал int.TryParse (и даже int.TryParse с System.Globalization.NumberStyles.Any ), но это не работает.

ОБНОВЛЕНИЕ: Кажется, что Convert.ToInt64 или Convert.ToInt32 работают без удаления завершающего «0x»:

long hwnd = Convert.ToInt64("0x310530", 16);

В документации метода Convert.ToInt64 (String, Int32) говорится:

«Если fromBase равно 16, вы можете префикс числа, указанного значением параметр с "0x" или "0X". "

Однако я бы предпочел такой метод, как TryParse, который не вызывает исключений.

19
задан Alexei Levenkov 29 December 2018 в 02:42
поделиться