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. ubuntu cenots 禁止本地登陆

    auth required pam_succeed_if.so user != root

  2. Objective C - UIColor

    UIColor+Hex.h #import <UIKit/UIKit.h> @interface UIColor (Hex) + (UIColor *) colorWithHexStrin ...

  3. 【Oracle】删除重复记录

    --复习autotrace: SET AUTOTRACE OFF --不生成AUTOTRACE 报告,这是缺省模式 SET AUTOTRACE ON EXPLAIN --AUTOTRACE只显示优化器 ...

  4. 关于iOS多线程,你看我就够了

    在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项.当然也会给出几种多线程的案例,在实际使用中感受它们的区别.还有一点需要说明的是,这篇文章将会使 用 Swift  ...

  5. 分类: LINUX apache 访问设置配置

    分类: LINUX 在一次面试的时候被问到apache访问控制的问题.由于以前对apache的访问控制都是通过iptalbes来实现的,没有实际在apache上操作过访问控制.所以只知道个大概: 在主 ...

  6. php各种编译错误汇总

    PHP编译安装时常见错误解决办法,php编译常见错误 This article is post on https://coderwall.com/p/ggmpfa configure: error: ...

  7. DataSet、DataTable、DataRow区别

     DataSet 表示数据在内存中的缓存. 属性 Tables  获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据 ...

  8. UMl概述(转)

    1. UML的组成 UML由视图(View).图(Diagram).模型元素(Model Element)和通用机制(General Mechanism)等几个部分组成. a) 视图(View): 是 ...

  9. 【初级坑跳跳跳】第一个应用布局学习的代码运行时出错(manifest里未将activity先注册,控件错误)

    首先,根据书中想要实现的结果,看了下书中代码,大致知道布局是怎么样的,然后根据图片自己写xml, 1.运行时第一个坑是 忘记在AndroidManifest.xml里先注册activity,导致运行时 ...

  10. 【转】SSIS 2012 – Package Configurations Menu Option Missing

    原文:http://dataqueen.unlimitedviz.com/2012/01/ssis-2012-package-configurations-menu-option-missing/ I ...