【发布时间】:2012-06-08 20:46:33
【问题描述】:
我对此进行了一些阅读,从与我的相似的问题来看,看起来我要问的问题可能(很容易)不太可能......但我还是想验证一下。也许所有这些问题都来自旧版本的 C#/.NET,而且最近已经实现了。
无论如何。我的一个类中有一个 switch-case 语句,其目的本质上是采用 int (typeID) 和 string (value) 并检查 value 是否可以解析为 @ 指示的数据类型987654324@。例如,这是我现在拥有的部分内容:
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...
我想做的是能够避免您在案例 1 和 3 中看到的 char/bool 实例化。理想情况下,我只想有 return 语句。这没什么大不了的(显然),但如果我能把它做得更(甚至更)紧凑,那就太好了。
【问题讨论】:
-
不能在switch前声明变量吗?
-
你应该存储
Regex实例而不是每次都重新解析。 -
@Anon,如果它可以归结为一种类型,我会的。它不能。
-
@SLaks,我应该。我将会。好电话。
标签: c# code-reuse tryparse