我有一个查询字符串叫做propID,我想检查传递给它的值是否是合法的整数,以避免抛出可能会泄露我的数据库信息的错误,我该怎么做?
换句话说,我想要类似于以下代码(但是在vb.net中实现):
IF QueryString("propID").Content.Type = "int32" Then Proceed
您可以使用TryParse方法:
Dim myInt As Integer
If Int32.TryParse(QueryString("propID").Content, myInt) Then Proceed
Dim result as boolean
result = integer.tryparse(QueryString("propID"), myintegervariable)
如果成功解析(将值放入myintegervariable),则boolean将返回true,如果解析失败,则返回false。
您也可以这样写:
if integer.tryparse(QueryString("propID"), myintegervariable) then
//continue going along with myintegervariable
else
//parsing didn't work
end if
If QueryString("propID").Content.Type Is Int32 Then Proceed
C# 版本:
int _PropID;
if (int.TryParse(QueryString["propID"], out _PropID))
{
//Proceed with _PropID
}