У меня есть следующий тип кода:переключатель случай дает мне ошибку
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) {
Это также безопаснее, потому что вы не получите исключения нулевого указателя, если строка является нулевым. (И это будет null, если строка запроса не существует, что является реалистичным случаем для обработки.) – Servy
@Servy: Это выходит за рамки этого вопроса, но учитывая, что вход поступает непосредственно из запроса, он определенно должен перед использованием проверить на достоверность. – Malice
«default» должен заботиться обо всем, что не является допустимым тестовым случаем, поэтому, если вы этого не делаете .toString, и в каждом действительном случае есть оператор case, по умолчанию используется любой код для обработки любых недопустимых значений. – Servy