如果我有这些字符串:
"abc" = false
"123" = true
"ab2" = false
是否有诸如IsNumeric()类的命令或其他可以识别字符串是否为有效数字的命令?
int n;
bool isNumeric = int.TryParse("123", out n);从 C#7 开始更新:
var isNumeric = int.TryParse("123", out int n);或者,如果您不需要数字,则可以丢弃out 参数
var isNumeric = int.TryParse("123", out _);var可以用它们各自的类型替换!
input为全数字,则将返回 true。不知道它是否比TryParse ,但是它可以工作。
Regex.IsMatch(input, @"^\d+$")如果只想知道它是否有一个或多个数字与字符混合在一起,请忽略^ +和$ 。
Regex.IsMatch(input, @"\d")编辑:实际上,我认为它比 TryParse 更好,因为很长的字符串可能会导致 TryParse 溢出。
您还可以使用:
stringTest.All(char.IsDigit);对于所有数字位数(不是float ),它将返回true ;如果输入字符串是任何字母数字形式, false
请注意: stringTest不应为空字符串,因为这将通过数字测试。