Why does this return False
public enum Directions { Up, Down, Left, Right } static void Main(string[] args) { bool matches = IsOneOf(Directi
As JB says, boxing. You can see this by changing from Enum to Directions:
public static bool IsOneOf(Directions self, params Directions[] values) { foreach (var value in values) if (self == value) return true; return false; }
true is returned.