Пример #1
0
    void Start()
    {
        EnumNum n = EnumNum.Num3;

        // 0byte
        Profiler.BeginSample("cast () enum -> int");
        int i = (int)n;

        Profiler.EndSample();

        // 40byte
        Profiler.BeginSample("cast Convert.ToInt32 enum -> int");
        i = System.Convert.ToInt32(n);
        Profiler.EndSample();

        // 40byte
        Profiler.BeginSample("cast Enum.ToObject int -> enum");
        n = (EnumNum)System.Enum.ToObject(typeof(EnumNum), i);
        Profiler.EndSample();

        // 0byte
        Profiler.BeginSample("cast () int -> enum");
        n = (EnumNum)i;
        Profiler.EndSample();

        // 20byte
        Profiler.BeginSample("cast () int -> object");
        object o = i;

        Profiler.EndSample();

        // 0byte
        Profiler.BeginSample("cast () object -> int");
        i = (int)o;
        Profiler.EndSample();
    }
Пример #2
0
    void Start()
    {
        EnumNum n = EnumNum.Num3;



        // 0byte
        Profiler.BeginSample("cast () enum -> int");
        int i = (int)n;

        Profiler.EndSample();

        // 40byte
        Profiler.BeginSample("cast Convert.ToInt32 enum -> int");
        i = System.Convert.ToInt32(n);
        Profiler.EndSample();

        // 20byte
        Profiler.BeginSample("cast Enum.ToObject int -> enum");
        n = (EnumNum)System.Enum.ToObject(typeof(EnumNum), i);
        Profiler.EndSample();

        // 0byte
        Profiler.BeginSample("cast () int -> enum");
        n = (EnumNum)i;
        Profiler.EndSample();

        // 20byte
        Profiler.BeginSample("cast () int -> object");
        object o = i;

        Profiler.EndSample();

        // 0byte
        Profiler.BeginSample("cast () object -> int");
        i = (int)o;
        Profiler.EndSample();

        // 24byte
        Profiler.BeginSample("cast () long -> object");
        long l = 1000;

        o = l;
        Profiler.EndSample();

        int[] array = new int[100];
        for (int k = 0; k < array.Length; k++)
        {
            array[k] = k;
        }

        Profiler.BeginSample("lamda 4");
        for (int k = 0; k < 100; k++)
        {
            ForEach(array, x => x * 2);
        }
        Profiler.EndSample();

        // 112byte
        {
            Profiler.BeginSample("delegate");
            Func <int, int> func = Hoge;
            Profiler.EndSample();
        }

        // 48byte
        {
            Profiler.BeginSample("nullable");
            int?x = null;
            if (x == null)
            {
                x = 10;
            }
            Profiler.EndSample();
        }

        // 0byte
        {
            Profiler.BeginSample("nullable 2");
            int?x = null;
            if (x == null)
            {
                x = 10;
            }
            Profiler.EndSample();
        }
    }