泛型的好处:它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。
     性能注意事项:在决定使用IList<T>还是使用ArrayList类(两者具有类似的功能)时,记住IList<T>类在大多数情况下执行得更好并且是类型安全的。如果对IList<T>类的类型T 使用引用类型,则两个类的行为是完全相同的。但是,如果对类型T 使用值类型,则需要考虑实现和装箱问题。 
C# List的基础常用方法:
  一、声明:
  1、List<T> mList = new List<T>();
  T为列表中元素类型,现在以string类型作为例子:
  List<string> mList = new List<string>(); 
  2、List<T> testList =new List<T> (IEnumerable<T> collection);
  以一个集合作为参数创建List:
  string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu"};
  List<string> testList = new List<string>(temArr);
 
  二、添加元素:
  1、List. Add(T item)添加一个元素
  例:
  mList.Add("John"); 
  2、List. AddRange(IEnumerable<T> collection)添加一组元素
  例:
  string[] temArr = {"Ha","Hunter","Tom","Lily","Jay","Jim","Kuku","Locu"};mList.AddRange(temArr);
  3、Insert(intindex, T item);在index位置添加一个元素
  例:
  mList.Insert(1,"Hei");
 
  三、遍历List中元素:
  foreach(TelementinmList)T的类型与mList声明时一样
  {
  Console.WriteLine(element);
  }
  例:
  foreach(stringsinmList)
  {
  Console.WriteLine(s);
  }
 
  四、删除元素:
  1、List. Remove(T item)删除一个值
  例:
  mList.Remove("Hunter");
  2、List. RemoveAt(intindex);删除下标为index的元素
  例:
  mList.RemoveAt(0);
  3、List. RemoveRange(intindex,intcount);
  从下标index开始,删除count个元素
  例:
  mList.RemoveRange(3, 2);
 
  五、判断某个元素是否在该List中:
  List. Contains(T item)返回true或false,很实用
  例:
  if(mList.Contains("Hunter"))
  {
  Console.WriteLine("There is Hunter in the list");
  }
  else
  {
  mList.Add("Hunter");
  Console.WriteLine("Add Hunter successfully.");
  }
 
  六、给List里面元素排序:
  List. Sort ()默认是元素第一个字母按升序
  例:
  mList.Sort();
 
  七、给List里面元素顺序反转:
  List. Reverse ()可以不List. Sort ()配合使用,达到想要的效果
  例:
  mList.Sort();
 
  八、List清空:
  List. Clear ()
  例:
  mList.Clear();
 
  九、获得List中元素数目:
  List. Count ()返回int值
  例:
  in tcount = mList.Count();
  Console.WriteLine("The num of elements in the list: "+count);

List用法与介绍的更多相关文章

  1. jQuery中$.fn的用法示例介绍

    $.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效,下面有个不错的示例,喜欢的朋友可以参考下 如扩展$.fn.abc(),即$.fn.abc()是对jquery ...

  2. Jenkins高级用法 - Jenkinsfile 介绍及实战经验

    系列目录 1.Jenkins 安装 2.Jenkins 集群 3.Jenkins 持续集成 - ASP.NET Core 持续集成(Docker&自由风格&Jenkinsfile) 4 ...

  3. Linux截屏工具scrot用法详细介绍

    Scrot是Linux命令行中使用的截图工具,能够进行全屏.选取等操作,下面小编将针对Scrot截图工具的用法给大家做个详细介绍,通过操作实例来学习Scrot的使用.   在Linux中安装Scrot ...

  4. html meta标签用法详细介绍

    meta是html语言head区的一个辅助性标签. 在页面中都有类似这样的html代码: <head> <meta http-equiv="content-Type&quo ...

  5. Android项目开发全程(二)--Afinal用法简单介绍

    本篇博文接上篇的<Android项目开发全程(一)--创建工程>,主要介绍一下在本项目中用到的一个很重要的框架-Afinal,由于本系列博文重点是项目开发全程,所以在这里就先介绍一下本项目 ...

  6. Thinkphp中import的几个用法详细介绍

    下面附上import的几个用法介绍 1.用法一 import('@.Test.Translate');@,表示项目根目录.假定根目录是:App/导入类库的路径是:App/Lib/Test/Transl ...

  7. java中equals以及==的用法(简单介绍)

    简单介绍 equals方法是java.lang.Object类的方法 有两种用法说明: 一.对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同. 1.“==”比较两 ...

  8. jemter-plugins-maven dependency -WIiki用法配置介绍

    1.先介绍下jmeter 的maven中央仓库地址,有兴趣自己看下 https://mvnrepository.com/artifact/org.apache.jmeter 2.Wiki github ...

  9. C#中Session的用法详细介绍

    Session模型简介 在学习之前我们会疑惑,Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站.当每 个用户首次 ...

  10. XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式

    XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD),作用是定义 XML 文档的合法构建模块,类似 DTD,但更加强大. 作用有: ①定义 ...

随机推荐

  1. 528. Random Pick with Weight

    1. 问题 给定一个权重数组w,w[i]表示下标i的权重,根据权重从数组中随机抽取下标. 2. 思路 这道题相当于 497. Random Point in Non-overlapping Recta ...

  2. FFmpeg 入门(6):音频同步

    本文转自:FFmpeg 入门(6):音频同步 | www.samirchen.com 音频同步 上一节我们做了将视频同步到音频时钟,这一节我们反过来,将音频同步到视频.首先,我们要实现一个视频时钟来跟 ...

  3. SNMP Introduction

    Basic command of SNMP: GET: The GET operation is a request sent by the manager to the managed device ...

  4. bzoj3629 / P4397 [JLOI2014]聪明的燕姿

    P4397 [JLOI2014]聪明的燕姿 根据唯一分解定理 $n=q_{1}^{p_{1}}*q_{2}^{p_{2}}*q_{3}^{p_{3}}*......*q_{m}^{p_{m}}$ 而$ ...

  5. Linux内核分析第一周-通过分析汇编代码理解计算机是如何工作的

    首先,我们先写一个简单的C语言程序,如下: int g(int x) { return x +3; } int f(int x) { return g(x); } int main(void) { r ...

  6. autofac &web api 切换数据库

    https://stackoverflow.com/questions/24188025/is-there-another-way-of-changing-database-instance-in-a ...

  7. SpringBoot.资料

    1.du 搜 "springboot 视频" 2.SpringBoot视频教程_哔哩哔哩 (゜-゜)つロ 干杯_-bilibili.html(https://www.bilibil ...

  8. idea 设置编译快捷键(代替 ctrl+f9)

    问题描述 今日在设置项目热部署的时候,无奈就是不会自动编译,不知什么原因. 而编译的话,要么去点小按钮 ,要么使用ctrl + f9,实在不便. 且ctrl + f9目测不能更改. 解决办法 借鉴了关 ...

  9. Android之微信开放平台创建应用

    微信开放平台网站:https://open.weixin.qq.com 1:登录之后(未登录就注册),点击移动应用开发进入 点击创建应用之后,进入填写对应信息. 接下来,填写平台信息. 应用签名获取方 ...

  10. 【Matplotlib】线设置,坐标显示范围

    改变线的颜色和线宽 参考文章: controlling line properties Line API 线有很多属性你可以设置:线宽,线型,抗锯齿等等:具体请参考matplotlib.lines.L ...