Я читал об этом, и из вопросов схожую с моим, похоже, то, что я собираюсь спросить, не может быть (легко) возможным ... Но я все равно хотел проверить. Возможно, все эти вопросы были из более старой версии C# /. NET, и это было недавно реализовано.Повторное использование одной и той же переменной для нескольких вызовов TryParse()
В любом случае. У меня есть оператор switch-case в одном из моих классов, целью которого является, по существу, взять int (typeID
) и строку (value
) и проверить, можно ли анализировать value
как тип данных, обозначенный typeID
. Например, вот часть того, что я сейчас:
case 1:
char charret;
return char.TryParse(value, out charret);
case 2:
Regex re = new Regex(Constants.REGEX_ALPHANUMERIC);
return re.IsMatch(value);
case 3:
bool boolret;
return bool.TryParse(value, out boolret);
//And so on...
То, что я хотел бы сделать это, чтобы быть в состоянии избежать char
/bool
экземпляра на которую вы видите в случаях 1 & 3. В идеале, я хотел бы просто получим оператор return. Это не очень важно (очевидно), но было бы неплохо, если бы я смог сделать это более (даже более) компактным.
Разве вы не можешь просто объявить переменный перед переключением? – Botonomous
Вы должны хранить экземпляр 'Regex' вместо повторного разбора его каждый раз. – SLaks
@ Анон, я бы, если бы все это сводилось к одному типу. Который он не может. – Argent