如果输入字符串是二进制/ hexa,如何检入c#.数?

mal*_*eee 4 c# binary

如果来自输入字段的输入字符串是正确的二进制(或六进制)数字,我如何检查c#?

Tam*_*chi 7

using System.Globalization;
bool valid = int.TryParse(inputString, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out result);
Run Code Online (Sandbox Code Playgroud)

适用于没有前缀的十六进制数.如果你不知道期望的数字类型,你可以使用

bool isHex = inputString.Length > 2 &&
    inputString.Substring(0, 2).ToLowerInvariant() == "0x" &&
    int.TryParse(inputString.Substring(2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out result);
Run Code Online (Sandbox Code Playgroud)

检查并同时解析字符串.对于二进制我会使用

Regex.IsMatch(inputString, "^[01]+$");
Run Code Online (Sandbox Code Playgroud)

您应该使用inputString = inputString.Trim()该应用程序对"非标准输入"更加宽容.