是什么使Enum.HasFlag如此缓慢?
我在进行一些速度测试时,发现Enum.HasFlag比使用按位运算慢大约16倍。 有谁知道Enum.HasFlag的内部原理,为什么它这么慢?我的意思是说慢两倍不会太糟糕,但是当它慢16倍时,它会使该功能不可用。 如果有人想知道,这是我用来测试其速度的代码。 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; namespace app { public class Program { [Flags] public enum Test { Flag1 = 1, Flag2 = 2, Flag3 = 4, Flag4 = 8 } static int num = 0; static Random rand; static void Main(string[] args) { int …