所有操作基於以下類
class Employees { public int Id { get; set; } public string Name { get; set; } public string City { get; set; } public DateTime BirthDate { get; set; } }
List<T>()初始化 List<T> 類的新實例,該實例為空並且具有默認初始容量。
List<Employees> employees = new List<Employees>(); employees.Add(new Employees { Id = 1, Name = "Nancy.Davolio", City = "Seattle", BirthDate = Convert.ToDateTime("1948-12-08") }); employees.Add(new Employees { Id = 2, Name = "Andrew.Fuller", City = "Tacoma", BirthDate = Convert.ToDateTime("1952-02-19") }); employees.Add(new Employees { Id = 3, Name = "Janet.Leverling", City = "Kirkland", BirthDate = Convert.ToDateTime("1963-08-30") }); employees.Add(new Employees { Id = 4, Name = "Margaret.Peacock", City = "Redmond", BirthDate = Convert.ToDateTime("1937-09-19") }); employees.Add(new Employees { Id = 5, Name = "Steven.Buchanan", City = "London", BirthDate = Convert.ToDateTime("1955-03-04") });
List<T>(IEnumerable<T>) 初始化 List<T> 類的新實例,該實例包含從指定集合復制的元素並且具有足夠的容量來容納所復制的元素。
List<Employees> employees = new List<Employees>() { new Employees { Id = 1, Name = "Nancy.Davolio", City = "Seattle", BirthDate = Convert.ToDateTime("1948-12-08") }, new Employees { Id = 2, Name = "Andrew.Fuller", City = "Tacoma", BirthDate = Convert.ToDateTime("1952-02-19") }, new Employees { Id = 3, Name = "Janet.Leverling", City = "Kirkland", BirthDate = Convert.ToDateTime("1963-08-30") }, new Employees { Id = 4, Name = "Margaret.Peacock", City = "Redmond", BirthDate = Convert.ToDateTime("1937-09-19") }, new Employees { Id = 5, Name = "Steven.Buchanan", City = "London", BirthDate = Convert.ToDateTime("1955-03-04") } };
//顯示 Console.WriteLine("Employees Report"); Console.WriteLine("Id Name\t\t\tCity\tBirthDate"); Console.WriteLine("-----------------------------------------"); foreach (var item in employees) { Console.WriteLine("{0} {1}\t{2}\t{3}", item.Id, item.Name, item.City, item.BirthDate); }

List<T>(Int32) 初始化 List<T> 類的新實例,該實例為空並且具有指定的初始容量
List<Employees> employees = new List<Employees>(2); employees.Add(new Employees { Id = 0, Name = "Nancy.Davolio", City = "Seattle", BirthDate = Convert.ToDateTime("1948-12-08") }); employees.Add(new Employees { Id = 1, Name = "Andrew.Fuller", City = "Tacoma", BirthDate = Convert.ToDateTime("1952-02-19") }); employees.Add(new Employees { Id = 2, Name = "Janet.Leverling", City = "Kirkland", BirthDate = Convert.ToDateTime("1963-08-30") }); employees.Add(new Employees { Id = 3, Name = "Margaret.Peacock", City = "Redmond", BirthDate = Convert.ToDateTime("1937-09-19") }); employees.Add(new Employees { Id = 4, Name = "Steven.Buchanan", City = "London", BirthDate = Convert.ToDateTime("1955-03-04") }); Console.WriteLine("Capacity:" + employees.Capacity); //Capacity:8 Console.WriteLine("Count:" + employees.Count); //Count:5
//Capacity 列表之前設定的容量值,每超過容量值在此前基礎上*2,故0-1=2,2-3=4,4=8,可以通過調用TrimExcess方法或通過顯式設置Capacity屬性來減少多余容量
//Count 實際的元素個數
元素操作
List<Employees> employees = new List<Employees>(5); employees.Add(new Employees { Id = 0, Name = "Nancy.Davolio", City = "Seattle", BirthDate = Convert.ToDateTime("1948-12-08") }); employees.Add(new Employees { Id = 1, Name = "Andrew.Fuller", City = "Tacoma", BirthDate = Convert.ToDateTime("1952-02-19") }); employees.Add(new Employees { Id = 2, Name = "Janet.Leverling", City = "Kirkland", BirthDate = Convert.ToDateTime("1963-08-30") }); employees.Add(new Employees { Id = 3, Name = "Margaret.Peacock", City = "Redmond", BirthDate = Convert.ToDateTime("1937-09-19") }); employees.Add(new Employees { Id = 4, Name = "Steven.Buchanan", City = "London", BirthDate = Convert.ToDateTime("1955-03-04") }); Console.WriteLine("初始屬性"); Console.WriteLine("Capacity:" + employees.Capacity); Console.WriteLine("Count:" + employees.Count); Console.WriteLine(); Console.WriteLine("添加一條數據"); employees.Add(new Employees { Id = 5, Name = "Michael.Suyama", City = "London", BirthDate = Convert.ToDateTime("1963-07-02") }); Console.WriteLine("Capacity:" + employees.Capacity); Console.WriteLine("Count:" + employees.Count); Console.WriteLine(); Console.WriteLine("清除多占用元素總數"); employees.TrimExcess(); Console.WriteLine("Capacity:" + employees.Capacity); Console.WriteLine("Count:" + employees.Count);

