小编Sno*_*now的帖子

C#Lambda使用局部变量

class Program
    {        
        static Action act = null;

        static void Main(string[] args)
        {
            Test();
            act();
            act();
            Test();
            act();
        }   

        static void Test()
        {
            int count = 0;

            if(act == null) act = () => Console.Write(++count + " ");
        }
    }  
Run Code Online (Sandbox Code Playgroud)

结果1 2 3为什么?

如果delete[ if(act == null)] 结果1 2 1

c# lambda

4
推荐指数
1
解决办法
239
查看次数

C#List <T> .Sort-为什么默认实现具有如此好的性能?

两次过载之间的时间差List<T>.Sort(...)

        List<int> list = new List<int>();
        Random rand = new Random();

        for (int i = 0; i < 20_000_000; i++)
        {
            list.Add(rand.Next());
        }

        Stopwatch watch = new Stopwatch();
        watch.Start();

        //list.Sort(); // 1.77 sec
        list.Sort((n1, n2) => n1.CompareTo(n2)); // 5.80 sec

        watch.Stop();
        Console.WriteLine(watch.Elapsed.TotalSeconds);
Run Code Online (Sandbox Code Playgroud)

为什么第二种形式这么慢?

c# sorting

-1
推荐指数
1
解决办法
88
查看次数

标签 统计

c# ×2

lambda ×1

sorting ×1