C#泛型集合之——列表
列表基础
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#泛型集合之——列表的更多相关文章
- 快速入门系列--CLR--03泛型集合
.NET中的泛型集合 在这里主要介绍常见的泛型集合,很多时候其并发时的线程安全性常常令我们担忧.因而简述下.NET并发时线程安全特性,其详情请见MSDN. 普通集合都不支持多重并发写操作 部分支持单线 ...
- C#基础精华03(常用类库StringBuilder,List<T>泛型集合,Dictionary<K , V> 键值对集合,装箱拆箱)
常用类库StringBuilder StringBuilder高效的字符串操作 当大量进行字符串操作的时候,比如,很多次的字符串的拼接操作. String 对象是不可变的. 每次使用 System. ...
- ConvertHelper与泛型集合
在机房重构时.我们常常会用到ConvertHelper. 它把从数据库中查询到的dateTable(也是一个暂时表)转化为泛型,然后再填充到DataGridView控件中. ConvertHelper ...
- C#非泛型集合和泛型集合的超级详解
C# 泛型集合之非泛型集合类与泛型集合类的对应: ArrayList对应List HashTable对应Dictionary Queue对应Queue Stack对应Stack SortedList对 ...
- C#重的数组、集合(ArrayList)、泛型集合(list<T>)三者比较及扩展延伸……
本来我只想总结下数组.集合(ArrayList).泛型集合(list<T>)三者的比较的,可以一写下来要扩展的知识点有点多了,只能写一个小的知识点列表了如下: 1.数组.集合(ArrayL ...
- .NET中的泛型集合总结
最近对集合相关的命名空间比较感兴趣,以前也就用下List<T>, Dictionary<Tkey, TValue>之类,总之,比较小白.点开N多博客,MSDN,StackOve ...
- C#-非泛型集合的方法
非泛型集合的类和接口位于System.Collections命名空间 如:列表.队列.位数组.哈希表和字典的集合 ArrayList 动态数组 可被单独索引的对象的有序集合可以使用索引在指定的 ...
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
WebAPI调用笔记 前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...
- 使用泛型集合取代datatable作为返回值实现面向对象
开会的时候,师父说.我们在机房重构时,尽量不要用datatable作为返回值.改用泛型集合的方式,这样能够实现真正的面向对象. 通过查资料和同学交流,把这个问题给攻克了. 对于泛型集合.我也有了一些认 ...
随机推荐
- [POI2008]PER-Permutation
[POI2008]PER-Permutation 带重复的康托展开! 根本不需要中国剩余定理就可以A掉! 看完题面你会惊人地发现这好像一个康托展开!(显然是不同的啦) 首先我们来看康托展开这个东西在数 ...
- DNS基本操作详解
在很多人看来,DNS只是为外部提供DNS解析服务(我以前也是这么认为的,直到膝盖中了一箭),但作为互联网的基础设施,DNS远没有想象的那么简单.如果你没有听说过DNS查询.反向解析.zone传输.动态 ...
- Java编程思想之二 一切都是对象
2.1 用引用操作对象 每种编程语言都有自己的操作内存中元素的方式. 在Java中,一切都可以视为对象,因此可以采用单一的固定语法. 2.2 必须由你创建所有对象 一旦创建一个引用,就希望它能与一个新 ...
- Python3爬取美女妹子图片转载
# -*- coding: utf-8 -*- """ Created on Sun Dec 30 15:38:25 2018 @author: 球球 "&qu ...
- 干掉搜狗输入法云代理SogouCloud.exe
搜狗输入法暂时还离不开,但是很讨厌搜狗输入法一直在后台的"搜狗云代理程序"(C:\Program Files (x86)\SogouInput\9.1.0.2657\SogouCl ...
- 2019t1_sumdoc_list.txt aa.docx acc baidu v2 sbb.docx Acc jindon v2 sbb.docx assetsList.html Atiitt 日本刑法典读后笔记.docx Atiti 遇到说花心的时候赞美应对.docx Atitit lesson.docx Atitit malye主义、mzd思想和dsp理论的区别和联系.docx Ati
2019t1_sumdoc_list.txtaa.docxacc baidu v2 sbb.docxAcc jindon v2 sbb.docxassetsList.htmlAtiitt 日本刑法典读 ...
- DSCP 标
DSCP差分服务代码点(Differentiated Services Code Point).它在每个数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特,通过编码值来区分优 ...
- Performance-Schema
https://yq.aliyun.com/articles/640181?spm=a2c4e.11153940.0.0.347359d3DAu7sW MySQL Performance-Schema ...
- webService和Restful
restful是一种架构风格,其核心是面向资源,更简单:而webService底层SOAP协议,主要核心是面向活动:两个都是通过web请求调用接口 RESTful是什么: 首先要了解什么是REST,R ...
- ABAP基础篇1 内表
内表类型 abap 内表类型有三种: 标准表(一般ABAP程序中用的最多就是这种表) 系统为该表的每一行数据生成一个逻辑索引,自己内部维护着行号(Index)的编码.表的键值不唯一,且没有按照表键自动 ...