首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

哪位高手能知道这段代码是如何判断出传入的参数只能是数字,不能是其它符号?多谢!马上给分

2012-01-13 
谁能知道这段代码是怎么判断出传入的参数只能是数字,不能是其它符号??谢谢!在线等,马上给分看下面代码,这

谁能知道这段代码是怎么判断出传入的参数只能是数字,不能是其它符号??谢谢!在线等,马上给分
看下面代码,这个是判断端口号码是否有效,当端口号码为空的时候提示“端口号不能为空”,但是我百思不得其解的是它是怎么判断出除了数字,其它字符也是无效的呢?比如我参数传进来一个 "ss "   它也会提示端口号无效。

private   int   getValidPort(string   port)
{
int   lport;

//测试端口号是否有效
try
{
if(port== " ")
{
throw   new   ArgumentException( "端口号为空,不能启动服务器 ");
}
lport   =   System.Convert.ToInt32(port);
}
catch(Exception   e)
{
Console.WriteLine( "无效的端口号: "+e.ToString());
this.rtbSocketMsg.AppendText( "无效的端口号: "+e.ToString()+ "\n ");
return   -1;
}
return   lport;
}

[解决办法]
lport = System.Convert.ToInt32(port); 这句是转为数字,如果有异常,则为无效数字
[解决办法]
lport = System.Convert.ToInt32(port);
这行语句表示将port(string)转换成int32型,如果不能转换或转换失败,则引发异常,最后返回-1.
[解决办法]
System.Convert.ToInt32方法,系统自己判断是否有异常!

热点排行