在C#中如何判断一个变量是不是int型变量
5个回答
展开全部
使用C#的反射机制吧。
完整的程序:
using System;
namespace ConApp1
{
class Program
{
static void Main(string[] args)
{
int i = 2;
//...
System.Type type = i.GetType();
if (type.ToString().Equals("System.Int32"))
{
System.Console.WriteLine("变量 i 是一个int型变量");
}
else
{
System.Console.WriteLine("变量 i 不是一个int型变量");
}
}
}
}
运行测试:
变量 i 是一个int型变量
完整的程序:
using System;
namespace ConApp1
{
class Program
{
static void Main(string[] args)
{
int i = 2;
//...
System.Type type = i.GetType();
if (type.ToString().Equals("System.Int32"))
{
System.Console.WriteLine("变量 i 是一个int型变量");
}
else
{
System.Console.WriteLine("变量 i 不是一个int型变量");
}
}
}
}
运行测试:
变量 i 是一个int型变量
展开全部
int a = 0;
if (a.GetType() == typeof(int))
{
MessageBox.Show("是int型");
}
if (a.GetType() == typeof(int))
{
MessageBox.Show("是int型");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果简单控制,可以使用scanf("%d", &a);
如果输入的不是整数,则自动要求重新输入。
比较精确控制,用字符串string方式输入,完成后再检测每个字符是否为+-0~9,通过循环组织成一个整数,'9'->;'9'-'0'=9...。现在有许多语言和函数能检测是否是整数,但原理均如此。
如果要更精确控制输入的过程,则需要对键盘输入字符进行检测,如果不是0-9,+,-(在最前面),则为非法,取消输入,再需要控制长度(整数表达范围)。
如果输入的不是整数,则自动要求重新输入。
比较精确控制,用字符串string方式输入,完成后再检测每个字符是否为+-0~9,通过循环组织成一个整数,'9'->;'9'-'0'=9...。现在有许多语言和函数能检测是否是整数,但原理均如此。
如果要更精确控制输入的过程,则需要对键盘输入字符进行检测,如果不是0-9,+,-(在最前面),则为非法,取消输入,再需要控制长度(整数表达范围)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用int提供的TryParse即可
string v = Console.ReadLine();
int i = 0;
if (int.TryParse(v, out i))
{
Console.WriteLine("it is an int.");
}
else
{
Console.WriteLine("it is not an int.");
}
string v = Console.ReadLine();
int i = 0;
if (int.TryParse(v, out i))
{
Console.WriteLine("it is an int.");
}
else
{
Console.WriteLine("it is not an int.");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i;
if(i is int)
{
...
}
if(i is int)
{
...
}
参考资料: ..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询