List<T>用法总结

  

  

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

  static void Main(string[] args)

  {

  Person p1 = new Person( "aladdin" , 20 );

  Person p2 = new Person("zhao", 10);

  Person p3 = new Person("jacky", 40);

  List&lt;Person&gt; list = new List&lt;Person&gt;(4);

  list.Add(p1);

  list.Add(p2);

  list.Add(p3);

  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.   list.AddRange( new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});
  3.   List&lt;Person&gt; mylist = new List&lt;Person&gt;(new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});

List&lt;Person&gt; lists = new List&lt;Person&gt;(10);

  list.AddRange( new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});

  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.   foreach (Person p in mylist)
  3.   {
  4.   Console.WriteLine(p.name);
  5.   }

 mylist.Insert( 1 , new Person( "jacky" , 88 ));

  foreach (Person p in mylist)

  {

  Console.WriteLine(p.name);

  }

  4 、访问元素   

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

Console.WriteLine( "---------访问元素-----------");

  for (int i = 0; i &lt; mylist.Count; i++)

  {

  Console.WriteLine(mylist[i].name);

  }

  5、删除元素  

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

mylist.RemoveAt(0);

  List&lt;Person&gt; lists2 = new List&lt;Person&gt;(10);

  Person per1 = new Person( "aladdin" , 100 );

  Person per2 = new Person("zhao", 100);

  Person per3 = new Person("jacky", 100);

  lists2.Add(per1);

  lists2.Add(per2);

  lists2.Add(per3);

  lists2.Remove(per3);

  Console.WriteLine( "-------删除后的元素---------");

  foreach (Person per in lists2)

  {

  Console.WriteLine(per.name);

  }

  6 、搜索     

  1. List&lt;Person&gt; ls3 = new List&lt;Person&gt;(10);
  2.   Person person1 = new Person("aladdin", 100);
  3.   Person person2 = new Person("zhao", 100);
  4.   Person person3 = new Person("jacky", 100);
  5.   ls3.Add(person1);
  6.   ls3.Add(person2);
  7.   ls3.Add(person3);
  8.   int index = ls3.IndexOf(person3);
  9.   Console.WriteLine( "per3 的索引:" + index);
  10.   int index2 = ls3.IndexOf(person3,2,1);
  11.   Console.WriteLine(index2);
  12.   int index3 = ls3.FindIndex(param =&gt; param.name.Equals("jacky"));
  13.   Console.WriteLine( index3 );
  14.   int index4 = ls3.FindLastIndex(p =&gt; p.name.Equals("aladdin"));
  15.   Console.WriteLine(index4);
  16.   Person ppp = ls3.Find( p =&gt; p.name.Equals("jacky")) ;
  17.   Console.WriteLine(ppp);
  18.   List&lt;Person&gt; newList = ls3.FindAll(p =&gt; p.age == 100);
  19.   Console.WriteLine( "----------查找所有---------");
  20.   foreach (Person p in newList)
  21.   {
  22.   Console.WriteLine(p.name);
  23.   }

List&lt;Person&gt; ls3 = new List&lt;Person&gt;(10);

  Person person1 = new Person("aladdin", 100);

  Person person2 = new Person("zhao", 100);

  Person person3 = new Person("jacky", 100);

  ls3.Add(person1);

  ls3.Add(person2);

  ls3.Add(person3);

  int index = ls3.IndexOf(person3);

  Console.WriteLine( "per3 的索引:" + index);

  int index2 = ls3.IndexOf(person3,2,1);

  Console.WriteLine(index2);

  int index3 = ls3.FindIndex(param =&gt; param.name.Equals("jacky"));

  Console.WriteLine( index3 );

  int index4 = ls3.FindLastIndex(p =&gt; p.name.Equals("aladdin"));

  Console.WriteLine(index4);

  Person ppp = ls3.Find( p =&gt; p.name.Equals("jacky")) ;

  Console.WriteLine(ppp);

  List&lt;Person&gt; newList = ls3.FindAll(p =&gt; p.age == 100);

  Console.WriteLine( "----------查找所有---------");

  foreach (Person p in newList)

  {

  Console.WriteLine(p.name);

  }

  7 、排序   

  1. List&lt;Person&gt; ls4 = new List&lt;Person&gt;(10);
  2.   Person person4 = new Person("aladdin", 100);
  3.   Person person5 = new Person("zhao", 33);
  4.   Person person6 = new Person("jacky", 44);
  5.   ls4.Add(person4);
  6.   ls4.Add(person5);
  7.   ls4.Add(person6);
  8.   ls4.Sort(MyComparFunc);
  9.   Console.WriteLine( "------排序后的-------");
  10.   foreach (Person p in ls4)
  11.   {
  12.   Console.WriteLine(p.name+ p.age );
  13.   }
  14.   Console.WriteLine( "--------颠倒循序--------");
  15.   ls4.Reverse();
  16.   foreach (Person p in ls4)
  17.   {
  18.   Console.WriteLine(p.name+ p.age);
  19.   }

List&lt;Person&gt; ls4 = new List&lt;Person&gt;(10);

  Person person4 = new Person("aladdin", 100);

  Person person5 = new Person("zhao", 33);

  Person person6 = new Person("jacky", 44);

  ls4.Add(person4);

  ls4.Add(person5);

  ls4.Add(person6);

  ls4.Sort(MyComparFunc);

  Console.WriteLine( "------排序后的-------");

  foreach (Person p in ls4)

  {

  Console.WriteLine(p.name+ p.age );

  }

  Console.WriteLine( "--------颠倒循序--------");

  ls4.Reverse();

  foreach (Person p in ls4)

  {

  Console.WriteLine(p.name+ p.age);

  }

  8 、类型转换   

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

List&lt;Racer&gt; ls5 = ls4.ConvertAll&lt;Racer&gt;((input) =&gt; new Racer(input.name)) ;

  Console.WriteLine( "-----------转换后的玩意--------");

  foreach (Racer r in ls5)

  {

  Console.WriteLine(r.name);

  }

  9、 只读集合   

  1. ReadOnlyCollection&lt;Racer&gt; persss =  ls5.AsReadOnly();
  2.   Console.WriteLine("输出只读集合");
  3.   foreach (Racer r in persss)
  4.   {
  5.   Console.WriteLine(r.name);
  6.   }
  7.   Console.ReadLine();

List<T>用法总结【转】的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

  10. [转]thinkphp 模板显示display和assign的用法

    thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...

随机推荐

  1. C的|、||、&、&&、异或、~、!运算(转)

    位运算     位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果. 位运算符有:     &(按位与).|(按位或) ...

  2. JS 清除IE缓存

    js中自动清除ie缓存方法 — 常用 对于动态文件,比如 index.asp?id=...  或者 index.aspx?id=... 相信有经验的程序员都知道怎样禁止浏览器缓存数据了.  但是对于静 ...

  3. nomasp 博客导读:Android、UWP、Algorithm、Lisp(找工作中……

    Profile Introduction to Blog 您能看到这篇博客导读是我的荣幸.本博客会持续更新.感谢您的支持.欢迎您的关注与留言.博客有多个专栏,各自是关于 Android应用开发 .Wi ...

  4. Spting使用memcached

    applicationContext.xml配置文件: <?xml version="1.0" encoding="UTF-8"?> <bea ...

  5. 批处理Bat实现整合定时关机或取消定时关机

    @echo off :start choice /c:12 /m "输入1为设置定时关机,2为取消定时关机: " if errorlevel 2 goto cancel if er ...

  6. 判断网络是否连接Internet

    添加 system32.Management 引用 private bool ListenNET()        {            ManagementObjectSearcher s = ...

  7. Android开发_关于如何屏蔽Home键

    今天在遇到一个要屏蔽Home键的问题,研究一上午终于解决,方法记录于下: 在Android2.3版本以下重写以下方法就能屏蔽Home键: public void onAttachedToWindow( ...

  8. NSString 字符串操作

    //一.NSString /*----------------创建字符串的方法----------------*/ //1.创建常量字符串. NSString *astring = @"Th ...

  9. QT-利用C++仿制windown自带的记事本程序V1.0

    下班无事, 发现QT还是很好用的, 就仿制windows的记事本做了一个,未彻底DEBUG, 先拿来分享下. windows记事本大概是这样的: 大概分为以下几步: 1. 界面用QT代码写,即可, Q ...

  10. activity的生命周期详解

    刚在看mars老师的视频,看到activity的生命周期,就看了一下,总结了一下.下面是各函数的调用时机 为了更清楚的看清楚工作的具体过程,举例如下: ,建立两个activity,一个main,一个a ...