C# List 复制

废话不多说,看代码:

方法一:

List<string> t = new List<string>(); //original

      List<string> t2 = new List<string>(t.ToArray()); // copy of t

方法二:

It is a one liner using LINQ.

      List<string> list1 = new List<string>();
      List<string> list2 = new List<string>();

      // This will copy all the items from list 1 to list 2
      list1.ForEach(i => list2.Add(i));

 


方法三:

using System;
using System.Linq;
using System.Collections.Generic;
using System.Diagnostics;

namespace Delegates
{
  class X
  {
    public int Id { get; set; }
    public string Name { get; set; }
  }

  class Y
  {
    public int Id { get; set; }
    public string Name { get; set; }
  }

  class Program
  {
    static void Main(string[] args)
    {
      List<X> x = new List<X>();
      for (int i = 0; i < 100; i++)
        x.Add(new X { Id = i, Name = string.Format("x_{0}", i.ToString()) });
      // copy x to y
      List<Y> y = new List<Y>(x.ConvertAll<Y>(e => { return new Y { Id = e.Id, Name = e.Name }; }));
      Debug.Assert(x.Count == y.Count);
    }

  }
}
posted @ 2012-09-26 17:43  therockthe  阅读(647)  评论(0编辑  收藏  举报