zoukankan      html  css  js  c++  java
  • 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(); 
  • 相关阅读:
    冒泡排序(C语言)解析
    URL的重写
    探索sscli, 开启CLR 的大门——配置环境详解(转)
    反射概述
    C#项目打包,并自动安装SQL数据库
    HttpRequest.ServerVariables[""]中的参数集
    如何动态设置全局theme,及在web.config中读取pages节点的内容。
    ASP.NET2.0发送电子邮件
    MD5加密的绵集
    ASP.NET中动态生成Xml格式文档,并转换为HTML文件
  • 原文地址:https://www.cnblogs.com/zhouyunbaosujina/p/3148938.html
Copyright © 2011-2022 走看看