我需要检查字符串的第一个元素是否是 C# 中的正整数。有没有聪明的方法来做到这一点?外汇
string str = "2001";
if (str.First() == isANumber) {
...
}
你可以试试这个:
string s = "1sdfa";
bool isDigit = char.IsDigit(s[0]);
此外,如果您想对字符串进行额外检查,您可以这样做:
bool isDigit = !string.IsNullOrEmpty(s) && char.IsDigit(s[0]);
我相信如果没有迹象,那么它是积极的?所以只要检查第一个sybmol是否不是"-"
。
编辑:正如马克在下面的评论中指出的那样 - 它可能取决于所使用的文化。
可以使用Char.IsDigit
Char.IsDigit(str[0])
您可以使用char.IsDigit方法检查第一个字符是否为数字。
if(char.IsDigit(str[0]))
Console.WriteLine("Starting character is positive digit");
else
Console.WriteLine("Starting character is not a digit");
如果您可以在访问其索引之前检查字符串的长度,那就更好了0
你应该使用Char.IsDigit()
方法。
指示指定的 Unicode 字符是否归类为十进制数字。
像;
string str = "2001";
if (Char.IsDigit(str[0]))
{
Console.WriteLine ("Positive digit");
}
else
{
Console.WriteLine ("Not digit");
}
这是一个DEMO
.
if(Char.IsDigit(str.First()))
{
}
string str = "2001";
if (char.IsDigit(str.First())
{
if(Convert.toInt32(str.First().ToString()) >= 0)
{
// positive integer
}
}
你好你可以用这个...
string something = "some string";
bool isDigit = char.IsDigit(something[0]);