2

我很好奇是否有关于何时使用位掩码来帮助提高代码可读性和/或可维护性的经验法则或设计模式。

我在野外见过它们的一个地方是当有几个或多个配置参数需要传递给函数时。

我是从 OOP 的角度来看的,但答案不必仅限于 OOP。

4

1 回答 1

1

我认为位掩码主要是为了提高时间和空间性能。从 OOP 的角度来看,它们所代表的任何东西都可以封装在适当的接口中。在 C# 中,您可以查看flags 枚举,以方便地将它们表示为枚举。

要将配置参数传递给方法,我通常更喜欢创建一个类。这样,您可以拥有不仅仅是标志的参数,并且客户端无需担心按位操作。看一下这个XmlWriterSettings的例子。有关标志枚举的示例,请查看RegexOptions该类。

于 2012-05-31T01:58:30.767 回答