List<T>用法总结【转】

List<T>用法总结

  

  

  1.   static void Main(string[] args)   
  2.   
  3.   {   
  4.   
  5.   Person p1 = new Person( "aladdin" , 20 );   
  6.   
  7.   Person p2 = new Person("zhao", 10);   
  8.   
  9.   Person p3 = new Person("jacky", 40);   
  10.   
  11.   List&lt;Person&gt; list = new List&lt;Person&gt;(4);   
  12.   
  13.   list.Add(p1);   
  14.   
  15.   list.Add(p2);   
  16.   
  17.   list.Add(p3);   
  18.   
  19.   list.TrimExcess();  

  1 、初始化集合器  

        List<int> l2 = new List<int>() { 1 ,2 ,3 ,4 ,5 };  

  2、 添加元素

  

  1. List&lt;Person&gt; lists = new List&lt;Person&gt;(10);   
  2.   
  3.   list.AddRange( new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});   
  4.   
  5.   List&lt;Person&gt; mylist = new List&lt;Person&gt;(new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});  

  

  3、 插入元素      

  1.  mylist.Insert( 1 , new Person( "jacky" , 88 ));   
  2.   
  3.   foreach (Person p in mylist)   
  4.   
  5.   {   
  6.   
  7.   Console.WriteLine(p.name);   
  8.   
  9.   }  

  4 、访问元素   

  1. Console.WriteLine( "---------访问元素-----------");   
  2.   
  3.   for (int i = 0; i &lt; mylist.Count; i++)   
  4.   
  5.   {   
  6.   
  7.   Console.WriteLine(mylist[i].name);   
  8.   
  9.   }  

  5、删除元素     

  1. mylist.RemoveAt(0);   
  2.   
  3.   List&lt;Person&gt; lists2 = new List&lt;Person&gt;(10);   
  4.   
  5.   Person per1 = new Person( "aladdin" , 100 );   
  6.   
  7.   Person per2 = new Person("zhao", 100);   
  8.   
  9.   Person per3 = new Person("jacky", 100);   
  10.   
  11.   lists2.Add(per1);   
  12.   
  13.   lists2.Add(per2);   
  14.   
  15.   lists2.Add(per3);   
  16.   
  17.   lists2.Remove(per3);   
  18.   
  19.   Console.WriteLine( "-------删除后的元素---------");   
  20.   
  21.   foreach (Person per in lists2)   
  22.   
  23.   {   
  24.   
  25.   Console.WriteLine(per.name);   
  26.   
  27.   }  

  6 、搜索     

  1. List&lt;Person&gt; ls3 = new List&lt;Person&gt;(10);   
  2.   
  3.   Person person1 = new Person("aladdin", 100);   
  4.   
  5.   Person person2 = new Person("zhao", 100);   
  6.   
  7.   Person person3 = new Person("jacky", 100);   
  8.   
  9.   ls3.Add(person1);   
  10.   
  11.   ls3.Add(person2);   
  12.   
  13.   ls3.Add(person3);   
  14.   
  15.   int index = ls3.IndexOf(person3);   
  16.   
  17.   Console.WriteLine( "per3 的索引:" + index);   
  18.   
  19.   int index2 = ls3.IndexOf(person3,2,1);   
  20.   
  21.   Console.WriteLine(index2);   
  22.   
  23.   int index3 = ls3.FindIndex(param =&gt; param.name.Equals("jacky"));   
  24.   
  25.   Console.WriteLine( index3 );   
  26.   
  27.   int index4 = ls3.FindLastIndex(p =&gt; p.name.Equals("aladdin"));   
  28.   
  29.   Console.WriteLine(index4);   
  30.   
  31.   Person ppp = ls3.Find( p =&gt; p.name.Equals("jacky")) ;   
  32.   
  33.   Console.WriteLine(ppp);   
  34.   
  35.   List&lt;Person&gt; newList = ls3.FindAll(p =&gt; p.age == 100);   
  36.   
  37.   Console.WriteLine( "----------查找所有---------");   
  38.   
  39.   foreach (Person p in newList)   
  40.   
  41.   {   
  42.   
  43.   Console.WriteLine(p.name);   
  44.   
  45.   }  

  7 、排序   

  1. List&lt;Person&gt; ls4 = new List&lt;Person&gt;(10);   
  2.   
  3.   Person person4 = new Person("aladdin", 100);   
  4.   
  5.   Person person5 = new Person("zhao", 33);   
  6.   
  7.   Person person6 = new Person("jacky", 44);   
  8.   
  9.   ls4.Add(person4);   
  10.   
  11.   ls4.Add(person5);   
  12.   
  13.   ls4.Add(person6);   
  14.   
  15.   ls4.Sort(MyComparFunc);   
  16.   
  17.   Console.WriteLine( "------排序后的-------");   
  18.   
  19.   foreach (Person p in ls4)   
  20.   
  21.   {   
  22.   
  23.   Console.WriteLine(p.name+ p.age );   
  24.   
  25.   }   
  26.   
  27.   Console.WriteLine( "--------颠倒循序--------");   
  28.   
  29.   ls4.Reverse();   
  30.   
  31.   foreach (Person p in ls4)   
  32.   
  33.   {   
  34.   
  35.   Console.WriteLine(p.name+ p.age);   
  36.   
  37.   }  

  8 、类型转换   

  1. List&lt;Racer&gt; ls5 = ls4.ConvertAll&lt;Racer&gt;((input) =&gt; new Racer(input.name)) ;   
  2.   
  3.   Console.WriteLine( "-----------转换后的玩意--------");   
  4.   
  5.   foreach (Racer r in ls5)   
  6.   
  7.   {   
  8.   
  9.   Console.WriteLine(r.name);   
  10.   
  11.   }  

  9、 只读集合   

  1. ReadOnlyCollection&lt;Racer&gt; persss =  ls5.AsReadOnly();   
  2.   
  3.   Console.WriteLine("输出只读集合");   
  4.   
  5.   foreach (Racer r in persss)   
  6.   
  7.   {   
  8.   
  9.   Console.WriteLine(r.name);   
  10.   
  11.   }   
  12.   
  13.   Console.ReadLine(); 
原文地址:https://www.cnblogs.com/zhouyunbaosujina/p/3148938.html