c#控制台程序怎么判断输入的字符串类型
7个回答
展开全部
小小案例提示(自己参照):
public static bool yanzheng(string str)
{
try
{
int i = int.Parse(str);
}
catch
{
return false;
}
return true;
}
static void Main(string[] args)
{
Console.Write("请随意输入一段字符:");
string str = Console.ReadLine();
if (yanzheng(str))
{
Console.WriteLine("你所输入的字符串:{0},能被转换成int类型",str);
}
else
{
Console.WriteLine("抱歉,你所输入的字符串不能转换成int类型");
}
}
public static bool yanzheng(string str)
{
try
{
int i = int.Parse(str);
}
catch
{
return false;
}
return true;
}
static void Main(string[] args)
{
Console.Write("请随意输入一段字符:");
string str = Console.ReadLine();
if (yanzheng(str))
{
Console.WriteLine("你所输入的字符串:{0},能被转换成int类型",str);
}
else
{
Console.WriteLine("抱歉,你所输入的字符串不能转换成int类型");
}
}
展开全部
1.
public bool textValueIsInt(object obj)
{
bool boolFlag=true;
try
{
Convert.ToInt32(obj);
}
catch()
{
boolFlag=false;
}
return boolFlag;
}
2
使用正则:
/// <summary>
/// 检测是否整数型数据
/// </summary>
/// <param name="Num">待检查数据</param>
/// <returns></returns>
public static bool IsInteger(string Input)
{
if (Input == null)
{
return false;
}
else
{
return IsInteger(Input, true);
}
}
/// <summary>
/// 是否全是正整数
/// </summary>
/// <param name="Input"></param>
/// <returns></returns>
public static bool IsInteger(string Input, bool Plus)
{
if (Input == null)
{
return false;
}
else
{
string pattern = "^-?[0-9]+$";
if (Plus)
pattern = "^[0-9]+$";
if (Regex.Match(Input, pattern, RegexOptions.Compiled).Success)
{
return true;
}
else
{
return false;
}
}
}
/// <summary>
/// 判断输入是否为日期类型
/// </summary>
/// <param name="s">待检查数据</param>
/// <returns></returns>
public static bool IsDate(string s)
{
try
{
DateTime d = DateTime.Parse(s);
return true;
}
catch
{
return false;
}
}
public bool textValueIsInt(object obj)
{
bool boolFlag=true;
try
{
Convert.ToInt32(obj);
}
catch()
{
boolFlag=false;
}
return boolFlag;
}
2
使用正则:
/// <summary>
/// 检测是否整数型数据
/// </summary>
/// <param name="Num">待检查数据</param>
/// <returns></returns>
public static bool IsInteger(string Input)
{
if (Input == null)
{
return false;
}
else
{
return IsInteger(Input, true);
}
}
/// <summary>
/// 是否全是正整数
/// </summary>
/// <param name="Input"></param>
/// <returns></returns>
public static bool IsInteger(string Input, bool Plus)
{
if (Input == null)
{
return false;
}
else
{
string pattern = "^-?[0-9]+$";
if (Plus)
pattern = "^[0-9]+$";
if (Regex.Match(Input, pattern, RegexOptions.Compiled).Success)
{
return true;
}
else
{
return false;
}
}
}
/// <summary>
/// 判断输入是否为日期类型
/// </summary>
/// <param name="s">待检查数据</param>
/// <returns></returns>
public static bool IsDate(string s)
{
try
{
DateTime d = DateTime.Parse(s);
return true;
}
catch
{
return false;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入的都是字符串
只能根据自己的需要转换成对应的类型
可以使用Convert类来进行转换,并通过捕获异常还判断输入是否正确
只能根据自己的需要转换成对应的类型
可以使用Convert类来进行转换,并通过捕获异常还判断输入是否正确
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用最强大的正则验证啊!如下面验证输入的用户名和密码:
Regex rx = new Regex("(^[\u4e00-\u9fa5]{2,6}$)|(^[a-zA-Z0-9]{4,12}$)|(^[\u4e00-\u9fa5a-zA-Z0-9]{4,10}$)");
Match ma1 = rx.Match(strUserName);
Match ma2 = rx.Match(strPassword);
bool bo1 = ma1.Success;
bool bo2 = ma2.Success;
if (bo1 == true && bo2 == true)
{
return true;
}
else
{
return false;
}
Regex rx = new Regex("(^[\u4e00-\u9fa5]{2,6}$)|(^[a-zA-Z0-9]{4,12}$)|(^[\u4e00-\u9fa5a-zA-Z0-9]{4,10}$)");
Match ma1 = rx.Match(strUserName);
Match ma2 = rx.Match(strPassword);
bool bo1 = ma1.Success;
bool bo2 = ma2.Success;
if (bo1 == true && bo2 == true)
{
return true;
}
else
{
return false;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哪用得着那么麻烦,
Console.WriteLine("变量名".GetType().ToString());
输入的就是当前变量的类型
Console.WriteLine("变量名".GetType().ToString());
输入的就是当前变量的类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询