我有一個名爲propID的查詢字符串,我想檢查它傳遞的值是否是合法的整數,以避免拋出可能泄露我的數據庫信息的錯誤,我該怎麼做?如何測試QueryString
換句話說,我想是這樣 - 但在vb.net-:
IF QueryString("propID").Content.Type = "int32" Then Proceed
我有一個名爲propID的查詢字符串,我想檢查它傳遞的值是否是合法的整數,以避免拋出可能泄露我的數據庫信息的錯誤,我該怎麼做?如何測試QueryString
換句話說,我想是這樣 - 但在vb.net-:
IF QueryString("propID").Content.Type = "int32" Then Proceed
Dim result as boolean
result = integer.tryparse(QueryString("propID"), myintegervariable)
布爾將返回true (將值放入你的myinteger變量中),並且如果解析失敗將返回false。
你也可以寫是
if integer.tryparse(QueryString("propID"), myintegervariable) then
//continue going along with myintegervariable
else
//parsing didn't work
end if
你可以使用TryParse:
Dim myInt As Integer
If Int32.TryParse(QueryString("propID").Content, myInt) Then Proceed
是否正確解析
你可以只使用Int32.TryParse。
您可以嘗試'is'關鍵字來檢查對象的類型。
If QueryString("propID").Content.Type Is Int32 Then Proceed
否則Int32.TryParse也可以。
C#版本:
int _PropID;
if (int.TryParse(QueryString["propID"], out _PropID))
{
//Proceed with _PropID
}
將正確嘗試解析工作,一個空字符串(例如失敗),還是會給予0? – stevehipwell 2009-04-29 13:03:12
空字符串不會評估爲0 – TheTXI 2009-04-29 13:04:43