List类是ArrayList类的泛型等效类,该类使用大小可按需动态增加的数组实现IList泛型接口。

  泛型的好处:它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。

  性能注意事项:在决定使用IList还是使用ArrayList类(两者具有类似的功能)时,记住IList类在大多数情况下执行得更好并且是类型安全的。如果对IList类的类型T 使用引用类型,则两个类的行为是完全相同的。但是,如果对类型T 使用值类型,则需要考虑实现和装箱问题。

C# List的基础常用方法:

  一、声明:

  1、List mList = new List();

  T为列表中元素类型,现在以string类型作为例子:

  List mList = new List();

  2、List testList =new List (IEnumerable collection);

  以一个集合作为参数创建List:

  string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu"};

  List testList = new List(temArr);

  二、添加元素:

  1、List. Add(T item)添加一个元素

  例:

  mList.Add("John");

  2、List. AddRange(IEnumerable 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);

C#中的List基础用法汇总的更多相关文章

  1. Linux中find命令的用法汇总

    Linux中find命令的用法汇总 https://www.jb51.net/article/108198.htm

  2. Spring中JdbcTemplate的基础用法

    Spring中JdbcTemplate的基础用法 1.在DAO中使用JdbcTemplate 一般都是在DAO类中使用JdbcTimplate,在XML配置文件中配置好后,可以在DAO中注入即可. 在 ...

  3. iOS中Block的基础用法

    本文简介 本章不会对Block做过多的实现研究.只是讲解基本的用法.纯粹基础知识.结合实际项目怎么去做举例.Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等.用过GCD就知道 ...

  4. [HMLY]10.iOS中block的基础用法

    本文简介 本章不会对Block做过多的实现研究.只是讲解基本的用法.纯粹基础知识.结合实际项目怎么去做举例.Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等.用过GCD就知道 ...

  5. 文件系统的block 数据库中的block 以及内存中的page基础知识汇总(自己理解 可能有误)

    1. 操作系统文件系统中的的block 文件系统中的block 是文件系统最小的读写单元,在HDD的磁盘时代, 一般block的大小可能与磁盘的扇区大小一致为 512bytes 也因为这个原因MBR启 ...

  6. js中的escape的用法汇总

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...

  7. Java中this的基础用法

    update on 2019-07-07 在Java核心技术一书中看到调用方法时this作为隐式参数传入的. 突然间许多问题都懂了 比如:方法的多态 父类变量指向子类对象的引用 对象变量指向的实际类型 ...

  8. Shell编程之--“grep-awk-sed” 基础用法汇总-菜鸟入门级

  9. [原创] 基础中的基础(二):C/C++ 中 const 修饰符用法总结

    在这篇文章中,我总结了一些C/C++语言中的 const 修饰符的常见用法,供大家参考. const 的用法,也是技术性面试中常见的基础问题,希望能够帮大家梳理一下知识,给大家一点点帮助.作者是菜鸟一 ...

随机推荐

  1. BeanDefinition源码解析

    我们知道BeanDefintion定义了Bean在IoC容器内的基本数据结构.在学习IoC之前先了解BeanDefition对我们理解IoC容器是有帮助的. 首先BeanDefinition是一个接口 ...

  2. 《高性能Linux服务器构建实战》——第1章轻量级HTTP服务器Nginx

    第1章 轻量级HTTP服务器Nginx本章主要介绍Nginx的配置管理和使用.作为一个轻量级的HTTP服务器,Nginx与Apache相比有以下优势:在性能上,它占用很少的系统资源,能支持更多的并发连 ...

  3. java socket实现服务端,客户端简单网络通信。Chat

    之前写的实现简单网络通信的代码,有一些严重bug.后面详细写. 根据上次的代码,主要增加了用户注册,登录页面,以及实现了实时显示当前在登录状态的人数.并解决一些上次未发现的bug.(主要功能代码参见之 ...

  4. 基于OpenCV的KNN算法实现手写数字识别

    基于OpenCV的KNN算法实现手写数字识别 一.数据预处理 # 导入所需模块 import cv2 import numpy as np import matplotlib.pyplot as pl ...

  5. 【Java8新特性】还没搞懂函数式接口?赶快过来看看吧!

    写在前面 Java8中内置了一些在开发中常用的函数式接口,极大的提高了我们的开发效率.那么,问题来了,你知道都有哪些函数式接口吗? 函数式接口总览 这里,我使用表格的形式来简单说明下Java8中提供的 ...

  6. Java创建对象的六种方法-权当记录一下

    1 简介 Java是面向对象的编程语言,只要使用它,就需要创建对象.Java创建对象有六种方法,实际常用的不会这么多,这里权当是记录一下. 2 六种方法 (1)使用new关键字 Pumpkin p1 ...

  7. vue-cli3使用全局scss

    在开发项目的时候,经常会出现多个元素样式相同,比如颜色相同.这里就需要我们设置公共样式,方便后期调试 一配置方法 1.在src/assets/styles目录下创建文件variable.scss // ...

  8. 【FPGA篇章七】FPGA系统任务:详述常用的一些系统函数以及使用方法

    欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 系统任务和系统函数是Verilog标准的一部分,都以字符"$"为开头.系统任务可划分为六类,下面分别给出一些常用任务的用 ...

  9. matlab 提示 Continuous sample time is not supported by discrete derivative 错误的解决办法

    Simulink仿真的时候,出行错误提示:Continuous sample time is not supported by discrete derivative 中文意思是:连续采样时间不支持离 ...

  10. Badboy录制脚本时,提示脚本错误的解决方法

    如下,录制时发生错误: