我只是好奇C#语言或.NET Framework是否内置了某些东西来测试某些东西是否是整数
if (x is an int)
   // Do something
在我看来可能会有,但是我只是一年级的编程学生,所以我不知道。
Answers:
使用int.TryParse方法。
string x = "42";
int value;
if(int.TryParse(x, out value))
  // Do something
如果解析成功,它将返回true,输出结果的值将为整数。
TryParse方法。如果您有字符串,TryParse通常最好使用using将其转换为这些类型之一。
                    < 0检查一下即可。
                    我想我记得在看int.TryParse和int.Parse Regex和char.IsNumber和char.IsNumber之间的性能比较最快。无论如何,无论性能如何,这都是另一种实现方法。
        bool isNumeric = true;
        foreach (char c in "12345")
        {
            if (!Char.IsNumber(c))
            {
                isNumeric = false;
                break;
            }
        }
    isNumeric = false...开头
                    如果只想检查传递变量的类型,则可以使用:
    var a = 2;
    if (a is int)
    {
        //is integer
    }
    //or:
    if (a.GetType() == typeof(int))
    {
        //is integer
    }
    对于Wil P解决方案(请参见上文),您也可以使用LINQ。
var x = "12345";
var isNumeric = !string.IsNullOrEmpty(x) && x.All(Char.IsDigit);
    如果你 只想检查它是否为字符串,则可以将“ out int”关键字直接放在方法调用内。根据dotnetperls.com网站的介绍,较旧的C#版本不允许使用此语法。这样,您可以减少程序的行数。
string x = "text or int";
if (int.TryParse(x, out int output))
{
  // Console.WriteLine(x);
  // x is an int
  // Do something
}
else
{
  // x is not an int
}
如果您还想获取int值,则可以这样编写。
方法1
string x = "text or int";
int value = 0;
if(int.TryParse(x, out value))
{
  // x is an int
  // Do something
}
  else
{
  // x is not an int
}
方法2
string x = "text or int";
int num = Convert.ToInt32(x);
Console.WriteLine(num);
推荐人:https ://www.dotnetperls.com/parse
我已经进行了大约2周的编码,并创建了一个简单的逻辑来验证整数是否已被接受。
    Console.WriteLine("How many numbers do you want to enter?"); // request a number
    string input = Console.ReadLine(); // set the input as a string variable
    int numberTotal; // declare an int variable
    if (!int.TryParse(input, out numberTotal)) // process if input was an invalid number
    {
        while (numberTotal  < 1) // numberTotal is set to 0 by default if no number is entered
        {
            Console.WriteLine(input + " is an invalid number."); // error message
            int.TryParse(Console.ReadLine(), out numberTotal); // allows the user to input another value
        }
    } // this loop will repeat until numberTotal has an int set to 1 or above
如果您愿意,也可以在FOR循环中使用上述代码,方法是不将动作声明为循环的第三个参数,例如
    Console.WriteLine("How many numbers do you want to enter?");
    string input2 = Console.ReadLine();
    if (!int.TryParse(input2, out numberTotal2))
    {
        for (int numberTotal2 = 0; numberTotal2 < 1;)
        {
            Console.WriteLine(input2 + " is an invalid number.");
            int.TryParse(Console.ReadLine(), out numberTotal2);
        }
    }
如果您不想循环,只需删除整个循环支架
x您的代码类型是什么?