using System.Globalization;
bool valid = int.TryParse(inputString, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out result);
работает для шестнадцатеричных чисел без префикса.Если вы не знаете, какой тип чисел ожидать, вы можете использовать
bool isHex = inputString.Length > 2 &&
inputString.Substring(0, 2).ToLowerInvariant() == "0x" &&
int.TryParse(inputString.Substring(2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out result);
, чтобы одновременно проверять и анализировать строку.Для двоичного кода я бы использовал
Regex.IsMatch(inputString, "^[01]+$");
Вы должны использовать inputString = inputString.Trim()
, чтобы сделать приложение более терпимым в отношении "нестандартного ввода".