3

实际上,我正在尝试编写小程序来读取用户的输入以决定是否输入integer

object x=Console.ReadLine();
check(x);

static void  check(object x)
{   
     if (x.GetType() == typeof(int))
      Console.WriteLine("int");
     else
      Console.WriteLine("not int");   

}
4

5 回答 5

12

你可以使用这个:

string x = Console.ReadLine();

int i;

if(int.TryParse(x, out i))
     Console.WriteLine("int");
 else
     Console.WriteLine("not int");   

如果TryParse()返回true,则解析后的值存储在i

于 2013-09-27T12:31:08.223 回答
6

只需像本例一样使用Int.TryParse

int result;
string x = Console.ReadLine();
if(int.TryParse(x, out result))
  Console.WriteLine("int");
else
  Console.WriteLine("not int");   

该方法接受输入字符串和一个整数变量。如果字符串可以转换为整数,则使用转换后的字符串初始化整数变量,并且该方法返回 true。否则该方法返回 false 并且传递的整数变量将被设置为零。

作为旁注。Console.ReadLine返回一个字符串

于 2013-09-27T12:31:42.080 回答
4

尝试

static void  check()
{   int result
    string x = Console.ReadLine();
    if(int.TryParse(x, out result)
      Console.WriteLine("int");
    else
      Console.WriteLine("not int");   

}
于 2013-09-27T12:33:11.877 回答
1

尝试这个

int isInteger;
Console.WriteLine("Input Characters: ");
string x = Console.ReadLine();
if(int.TryParse(x, out isInteger)
  Console.WriteLine("int");
else
  Console.WriteLine("not int"); 
于 2013-09-27T12:41:50.823 回答
0

Console.ReadLine()将始终返回 String 。所以你可以尝试Int.TryParse()检查类型。检查以下示例

   int output;
   string x = Console.ReadLine();
   if(int.TryParse(x, out output)
       Console.WriteLine("int");
   else
      Console.WriteLine("not int"); 

希望这可能对您有所帮助。

于 2013-09-27T12:50:31.663 回答