我想知道以下是否可行:
Regex.Match
方法可以接收枚举,因此我可以指定:
RegexOptions.IgnoreCase
RegexOptions.IgnorePatternWhiteSpace
RegexOptions.Multiline
如果我需要指定不止一个怎么办?(例如,我希望我的正则表达式是 Multiline
并且我希望它忽略模式空白)。
我可以像在 C/C++ 中那样使用 |
运算符吗?
最佳答案
你需要用[Flags]
来注释它属性和使用 |
运算符将它们组合起来。
在您提到的情况下,您可以这样做,因为 RegexOptions
枚举用它注释。
更多引用:
A helpful way to use the FlagsAttribute with enumerations
来自上面 CodeProject 文章的示例片段:
定义:
[FlagsAttribute]
public enum NewsCategory : int
{
TopHeadlines =1,
Sports=2,
Business=4,
Financial=8,
World=16,
Entertainment=32,
Technical=64,
Politics=128,
Health=256,
National=512
}
使用:
mon.ContentCategories = NewsCategory.Business |
NewsCategory.Entertainment |
NewsCategory.Politics;
关于c# - 如何将多个枚举传递给只接收一个的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6022306/