日期:2014-05-17  浏览次数:21101 次

泛型快速转型语法
List<int> id = new List<int>();
id.Add(1);
如何把这个类型转型成为List<string>类型的啊
不要循环的  要快速的语法类型
好像有个id.ToList<String>();不行 
另外说句 太懒了。。。

------解决方案--------------------
Cast<string>()
------解决方案--------------------
ConvertAll
------解决方案--------------------
Cast不行。。

用 id.ConvertAll(x=>x.ToString());
------解决方案--------------------

var a = new List<int>() { 1, 2, 3 };
var b = a.Select(e => e.ToString()).ToList();



------解决方案--------------------
这里高手多啊...
------解决方案--------------------
引用:

var a = new List<int>() { 1, 2, 3 };
var b = a.Select(e => e.ToString()).ToList();



+1
------解决方案--------------------
不要循环?

上面的语法内部实现也是要循环的吧!

你可以试试手写的和Linq的哪个更快,
毕竟Linq还是需要一个解析过程吧!

用老赵的代码时间测式



static void Main(string[] args)
        
{
            
  CodeProfiler.CodeTimer.Initialize();
            
  int count = 1000000;
            
  List<int> a = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  
  List<string> b;

         
  CodeProfiler.CodeTimer.Time("Linq", count, () =>
      
    {
                 
      b = a.Select(e => e.ToString()).ToList();
    
    }
  );

  
       
  CodeProfiler.CodeTimer.Time("传统", count, () =>
   
   {