Normalerweise, wenn Flag Aufzählungen Vergleich Ich benutze das folgende Format:Was ist der beste Weg, um Flags Enum zu vergleichen?
(value & flag) == flag;
Aber manchmal stoße ich auf diese:
(value & flag) != 0;
Nur frage mich, was die besser zu bedienen, oder sie persönlich nicht kommen Präferenz?
Ich ersetzte Verwendung dieser (einschließlich 'Enum.HasFlag') mit separaten Hilfsmethoden, die eine viel sauberere API-Verwendung erzeugt und Code-Duplizierung reduziert. Siehe: http://hugoware.net/blog/enumeration-extensions-2-0 Seit ich eine Modifikation von Hugos Erweiterungen verwende, fühlen sich die Dinge viel besser an. :) –