我可以选择让用户打开或关闭区分大小写。
这导致我做这样的剂量。
if (ignoreCase)
{
if (Regex.IsMatch(data, pattern, RegexOptions.IgnoreCase) == true)
{
//do something with results
}
}
else
{
if (Regex.IsMatch(data, pattern) == true)
{
//do something with results
}
}
有没有更好的方法可以重写它?它似乎为选项创建了许多重复的代码。
更新
考虑下面会有什么用?这样,如果我需要其他选项,我可以简单地控制修改regexOptions?
RegexOptions regexOptions = new RegexOptions();
if(ignoreCase)
{
regexOptions = RegexOptions.IgnoreCase;
}
if (Regex.IsMatch(data, pattern, regexOptions) == true)
{
//do something with results
}
答案 0 :(得分:3)
因为RegexOptions是" Flags"枚举你可以使用None
作为"不要忽略大小写"选项:
if (Regex.IsMatch(data, pattern,
ignoreCase ? RegexOptions.IgnoreCase : RegexOptions.None) )