List Find和BinarySearch性能比较

static void Main(string[] args)
        {
            List<int> list = new List<int>();
            for (int i = 0; i < 100; i++)
            {
                list.Add(i);
            }

            Stopwatch watch = new Stopwatch();
            watch.Start();  
            int ret=0;
            for (int i = 0; i < 1000000; i++)
            {
                ret = list.BinarySearch(13);
                if (ret >= 0)
                    ret = list[ret];
            }
            watch.Stop();
            Console.WriteLine("BinarySearch watch=" + watch.ElapsedMilliseconds+"   ret="+ret);

            Stopwatch watch2 = new Stopwatch();
            watch2.Start();
            int ret2=0;
            for (int i = 0; i < 1000000; i++)
            {
                ret2= list.Find(a => a == 13);
            }
            watch2.Stop();
            Console.WriteLine("Find watch=" + watch2.ElapsedMilliseconds + "   ret2=" + ret2);
        }

posted @ 2014-01-14 16:03  豆角米饭  阅读(284)  评论(0编辑  收藏  举报