Svi*_*ish 1 .net c# string validation digits
我有一个字符串,我想检查它只包含数字.我真的不想(或者不需要)解析它或任何东西,我只是想知道它除了数字之外不包含任何东西(也没有浮点分隔符,只是数字).
PHP有一个很好的函数叫做ctype_digit
.在.Net Framework中,C#有什么类似的东西吗?或者我需要使用正则表达式或类似的东西?
为此创建一个正则表达式当然会非常简单,但如果有更好的方法,我不想使用它:p
你可以使用int.TryParse.如果提供的字符串表示有效数字,则返回true,否则返回false.不要忘记使用NumerStyles.None
禁止空格和加号/减号.
更新:正如empi所说,这对于非常大的字符串不起作用.如果你有任意大的字符串,也许正则表达式是你唯一的选择.你可以做点什么Regex.IsMatch(theString,"^[0-9]+$")
@ bruno conde的答案让我想到了这一点:D
if(subject.All(char.IsDigit))
// Do something
Run Code Online (Sandbox Code Playgroud)
简直不敢相信我以前没想到过......