列表基础

  1.列表概述:列表与哈希集合不同之处在于,它的元素可以重复。(更接近逻辑上的数组,而哈希集合更接近于数学上的集合)
  2.创建及初始化:

        (1)List<类型> 列表名 =new
List<类型>();

        (2)List<类型> 列表名 =new
List<类型>(){值};

        (3)List<类型> 列表名 =new
List<类型>(数组名);

  3.基础操作:

      (1)添加单个元素:列表名.Add(所添加元素);

      (2)添加多个元素:列表名.AddRange(所添加元素的数组名);

      (3)插入一个元素:列表名.Insert(参数一:插入位置,参数二:所要插入的元素); //插入位置从1开始  //可以用foreach 遍历

      (4)插入一组元素:列表名.InsertRang(参数一:插入位置,数组);

      (5)删除一个元素:列表名.Remove(元素); //注意若有多个同值元素,仅删除第一个

      (6)通过下标删除一个元素:
列表名.RemoveAt(元素下标);

      (7)通过下标删除多个元素:列表名.RemoveRange(参数一:从哪开始,参数二:个数)

      (8)列表可以用
列表名[下标] 进行调用元素,而哈希集合不能。

      (9)判断某个元素是否在列表中:列表名.Contains(元素);

      (10)给列表中元素按首字母排序:升:列表名.Sort(); 逆序:列表名.Reverse(); //不是降

      (11)清空列表中所有元素:列表名.Clear();

      (12)获取列表中元素个数:列表名.Count();

      (13)数字类型可进行最大,最小,求和,求平均值等数学运算。

      (14)将列表元素复制到一个数组里:列表名.CopyTo(数组名);

      (15)将列表元拷贝到一个数组里:数组名=列表名.ToArray();

  4.进阶操作:

      (1)寻找所有满足条件的列表元素:注意返回值仍是一个列表

        List<类型> 新列表名 =旧列表名.FindAll(委托函数(此处返回值为bool));

          bool 委托函数名 (列表元素类型 参数)

            {形参即代表列表中每一个元素,在此进行条件判断,注意返回值为bool型}   //还可以用拉姆达表达式

      (2)除所有满足条件的列表元素:返回值仍是一个列表,逻辑上与(1)相反

        List<类型> 新列表名 =旧列表名.RmoveAll(委托函数(此处返回值为bool));

      (3)从前向后返回第一个符合条件的列表元素:

       列表类型 返回元素的变量名 = 列表名.Find(委托函数或拉姆达表达式);     //FindLast 与Find
用法相同,只是从后向前找

      (4)获得前n行列表元素值:

        IEnumetable<类型> 新列表名 =旧列表名.Take(前n个元素); //注意前缀

      (5)List.Where 与List.Findall 类似 不同之处在于返回的类型仍为IEnumetable

      (6)判断列表中所有元素是否符合条件:返回值为bool型

         bool mark =列表名.TrueForAll(委托函数或拉姆达表达式);

C#泛型集合之——列表的更多相关文章

  1. 快速入门系列--CLR--03泛型集合

    .NET中的泛型集合 在这里主要介绍常见的泛型集合,很多时候其并发时的线程安全性常常令我们担忧.因而简述下.NET并发时线程安全特性,其详情请见MSDN. 普通集合都不支持多重并发写操作 部分支持单线 ...

  2. C#基础精华03(常用类库StringBuilder,List<T>泛型集合,Dictionary<K , V> 键值对集合,装箱拆箱)

    常用类库StringBuilder StringBuilder高效的字符串操作 当大量进行字符串操作的时候,比如,很多次的字符串的拼接操作. String 对象是不可变的. 每次使用 System. ...

  3. ConvertHelper与泛型集合

    在机房重构时.我们常常会用到ConvertHelper. 它把从数据库中查询到的dateTable(也是一个暂时表)转化为泛型,然后再填充到DataGridView控件中. ConvertHelper ...

  4. C#非泛型集合和泛型集合的超级详解

    C# 泛型集合之非泛型集合类与泛型集合类的对应: ArrayList对应List HashTable对应Dictionary Queue对应Queue Stack对应Stack SortedList对 ...

  5. C#重的数组、集合(ArrayList)、泛型集合(list<T>)三者比较及扩展延伸……

    本来我只想总结下数组.集合(ArrayList).泛型集合(list<T>)三者的比较的,可以一写下来要扩展的知识点有点多了,只能写一个小的知识点列表了如下: 1.数组.集合(ArrayL ...

  6. .NET中的泛型集合总结

    最近对集合相关的命名空间比较感兴趣,以前也就用下List<T>, Dictionary<Tkey, TValue>之类,总之,比较小白.点开N多博客,MSDN,StackOve ...

  7. C#-非泛型集合的方法

    非泛型集合的类和接口位于System.Collections命名空间 如:列表.队列.位数组.哈希表和字典的集合     ArrayList 动态数组 可被单独索引的对象的有序集合可以使用索引在指定的 ...

  8. WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)

    WebAPI调用笔记   前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...

  9. 使用泛型集合取代datatable作为返回值实现面向对象

    开会的时候,师父说.我们在机房重构时,尽量不要用datatable作为返回值.改用泛型集合的方式,这样能够实现真正的面向对象. 通过查资料和同学交流,把这个问题给攻克了. 对于泛型集合.我也有了一些认 ...

随机推荐

  1. 推荐 11 个好用的 JS 动画库

    为了保证的可读性,本文采用意译而非直译. 1.Three.js 超过46K的星星,这个流行的库提供了非常多的3D显示功能,以一种直观的方式使用 WebGL.这个库提供了<canvas>. ...

  2. OpenFOAM——圆柱绕流对流换热

    本算例来自<ANSYS FLUENT技术基础与工程应用:流动传热与环境污染控制领域> TOP和DOWN为对称边界(symmetry),入口速度为0.01m/s,入口温度为300K,圆柱温度 ...

  3. ubuntu17.10 源

    1.保险做法先备份源文件:  cp -i /etc/apt/sources.list /etc/apt/sources.list_backup 2.打开sources.list:   sudo ged ...

  4. git推送本地分支到远程仓库并在远程仓库创建新分支

    $ git push <远程主机名> <本地分支名>:<远程分支名> git push master test:test #master 为设置的远程仓库别名,第一 ...

  5. malloc分配到一块内存,读写操作时却发生segmentation falt的奇怪问题。

    期初现象:malloc一块内存,读写操作时发生segmentation falt.一般来讲malloc倘若失败应该抛出异常,所以malloc返回一个指针后,这个指针应该都是可用的,况且是进行读操作. ...

  6. Linux下的IO监控与分析(转)

    各种IO监视工具在Linux IO 体系结构中的位置 源自 Linux Performance and Tuning Guidelines.pdf 1 系统级IO监控 iostat iostat -x ...

  7. 往hbase插入数据,你会选择哪种?

    好久,好久没有写个博客了,自从上次封闭开始,到“自闭”,有了一段时间了,哈哈^_^ . 多亏了云桌面的歇菜, 一下午啥都干不了, 突然想到,好久没有写点啥了,就写的,让时间流走有点痕迹吧 _(:з」∠ ...

  8. 【Python】解析Python中的迭代器

    目录结构: contents structure [-] Iterator VS Iterable Itertools 模块 生成器(Generator) 在开始文章之前,先贴上一张Iterable. ...

  9. DOS批处理中%~dp0表示什么意思

    https://www.jianshu.com/p/5a1a882ead95 https://www.cnblogs.com/cnpirate/p/5282324.html https://www.c ...

  10. kafka中的配额管理(限速)机制

    kafka支持配额管理,从而可以对Producer和Consumer的produce&fetch操作进行流量限制,防止个别业务压爆服务器.本文主要介绍如何使用kafka的配额管理功能. 1 K ...