Say I have the below enum
[Flags] enum Letters { A = 1, B = 2, C = 4, D = 8, E = 16, F = 32, AB = A | B, All = A | B | C,
You can get that using the binary & (and) operator:
var s = Letters.A | Letters.B | Letters.D; var p = Letters.A | Letters.C | Letters.D | Letters.E; var sAndp = s & p; // This will give you only the common values ( A & D)