有两个简单法,
其一:不让用TryParse,那自写一个呗:
using System;
class test
{
static void Main()
{
string s1=Console.ReadLine();
int i;
if(myTryParse(s1,out i))
{
Console.WriteLine("成功:"+i);
}
else
{
Console.WriteLine("失败:请输入数字!");
}
}
static bool myTryParse(string s,out int i)
{
try
{
int temp=Convert.ToInt32(s);
}
catch
{
i=-1;return false;
}
if(Convert.ToInt32(s)>=0||Convert.ToInt32(s)<0)
{
i=Convert.ToInt32(s);
return true;
}
else
{
i=-1;
return false;
}
}
}
其二:用一个网友laoliu提供的办法,并借鉴Javascript 的parseInt()的优点,充实laoliu的代码:
using System;
class test
{
static void Main()
{
Console.WriteLine(s2i(Console.ReadLine()));
}
static int s2i(string s)
{
char[] c1=s.ToCharArray();
int result=0;
for(int i=0;i<c1.Length;i++)
{
if(c1[i]>=48&&c1[i]<=57)
result=(result*10)+c1[i]-'0';
else
continue;
}
return result;
}
}