我有以下類型的代碼:開關的情況下給我一個錯誤
String strGroup = Request.QueryString["group"];
switch(strGroup.ToString){
case "Clients":
// do something here
break;
case "Addresses":
// do something here
break;
case "Matters":
// do something here
break;
case "Individuals":
// do something here
break;
case "Organisations":
// do something here
break;
default:
break;
}
但它給了以下錯誤:
整型的值預期爲 開關 (strGroup.ToString ){
這也是安全的,因爲你不會得到一個空指針異常,如果字符串爲空。 (如果查詢字符串不存在,它將爲空,這是一個現實的情況下處理。) – Servy 2012-02-10 15:29:32
@Servy:這是超出了這個問題的範圍,但鑑於輸入直接來自查詢字符串,它應該肯定在使用前進行有效性測試。 – Malice 2012-02-10 18:25:06
'default'應該處理所有不是有效的測試用例,所以如果你沒有.toString它並且每個有效的case都有一個case語句,那麼缺省值是任何代碼處理任何無效值的地方。 – Servy 2012-02-10 18:42:07