[摘]string.jion() 解决办法

for (int j = 1; j <= 5; j++)
            {
                List<int> list = new List<int>();                //插入2w个数字
                for (int i = 0; i < 20000; i++)
                {
                    Thread.Sleep(1);
                    list.Add(new Random((int)DateTime.Now.Ticks).Next(1000, 100000));
                }                Console.WriteLine("\n第" + j + "次比较:");                Stopwatch watch = new Stopwatch();
                watch.Start();
                var result = list.OrderBy(single => single).ToList();
                watch.Stop();
                Console.WriteLine("\n快速排序耗费时间:" + watch.ElapsedMilliseconds);
                Console.WriteLine("输出前十个数" + string.Join(",", result.Take(10).ToList()));                watch = new Stopwatch();
                watch.Start();
                HeapSort(list);
                watch.Stop();      
                Console.WriteLine("\n堆排序耗费时间:" + watch.ElapsedMilliseconds);
                Console.WriteLine("输出前十个数" + string.Join(",", list.Take(10).ToList()));
            }
中string.Join(",", result.Take(10).ToList())和string.Join(",", list.Take(10).ToList())发生错误,原因是:与
string.join(string,string[])字匹配的重载方法具有一些无效参数,怎样改

 

解决方案 »

  1.  

    list.Take(10) .Select(i=>i.ToString()).ToList();
      

     

  2.  

    你的list的类型是List<int>
    而string.join(string,string[])需要一个string数组做第二个参数。
    应该这样改:
    list.Take(10).Select(i=>i.ToString()).ToArray();
      

     

  3.  

    因为.NET 3.5版的Join只有 string, string[] 的重载。
    而.NET 4.0就支持IEnumerable了。所以你的代码在VS2010/.NET 4里面就不用修改。

你可能感兴趣的:(String)