List:列表
-
引导
- List的方法属性众多,我采用的攻克策略是:由简到繁,打怪升级! 采用展现形式:表格,便于比较。
- 拥有超链的项是已经单独整理出来的,以后会持续更新!
返回:船坞 |
---|
我们一个一个来,从常用的角度来进行排序。
查找通常是比较核心和复杂的方法, 因此单独罗列。
-
重要说明:
- list里的对象都是唯一的,但是对象的值可以相同。即 允许值重复!
主线剧情:CURD=CUD+R
crud操作,表示是增删改查. c[create] / r[read] / u[update] /d[delete]
以下皆为公有方法
C:添加 ( Lv1★) 集结军队
入伍
方法 | 作用 |
---|---|
Add( ) | 尾部添加 一个 元素 |
AddRange( ) | 尾部添加 多个 元素(实现了ICollection接口的) |
插队
方法 | 作用 |
---|---|
Insert( ) | 插入 一个 元素 |
InsertRange( ) | 插入 一组 元素 |
收编 (以下List指:List内的元素)
方法 | 作用 |
---|---|
Getrange( ) | 拷贝指定范围的元素到新的List内 |
CopyTo( ) | 重载,把List拷贝到一个已有的一维数组内 |
ToArray( ) | 把List拷贝到一个全新的数组内 |
To Top |
---|
U:更新( Lv2★★)
排序
方法 | 作用 |
---|---|
Sort( ) | 排序 |
Reverse( ) | 反转顺序 |
D:删除(Lv3★★★)
方法 | 作用 |
---|---|
Clear( ) | 移除 所有 元素(清空) |
Remove( ) | 移除与指定元素 匹配 首元素 |
RemoveAt( ) | 移除指定 索引 元素(删号) |
RemoveRange( ) | 移除指定 范围 元素(删块) |
To Top |
---|
R:查找(Lv4★★★★)
重载 = 重载的公有方法
返回元素
方法 | 作用 |
---|---|
Find() | 查找并返回List内的出现的第一个匹配元素 |
FindAll( ) | 查找并返回List内的所有匹配元素 |
BinarySearch( ) | 重载,用于在排序的List内使用二分查找来定位指定元素. |
返回索引
方法 | 作用 |
---|---|
IndexOf( ) | 重载的公有方法,查找并返回, ,每一个 匹配元素的索引 |
LastIndexOf( ) | 重载的公有方法,查找并返回, 最后一个 匹配元素的索引 |
存在性判断:返回bool值
方法 | 作用 |
---|---|
Exists( ) | 测试一个元素是否在内(条件匹配) |
Contains( ) | 测试一个元素是否在内(元素匹配) |
返回统计数据:容量
属性 | 作用 |
---|---|
Count 属性 | 用于获取数组中当前元素数量 |
Capacity属性 | 用于获取或设置可容纳元素的数量。 |
当数量超过容量时,这个值会自动增长。
可以设置这个值以减少容量,
也可以调用trin()方法来减少容量以适合实际的元素数目。
方法 | 作用 |
---|---|
trimToSize( ) | 将容量设置为List中元素的实际数目 |
特殊点:枚举器 索引器
方法 | 作用 |
---|---|
Item( ) | 通过指定索引获取或设置元素。对于List类来说,它是一个索引器。 |
GetEnumerator( ) | 重载,返回一个用于迭代List的枚举器 |
memo:
集合是OOP中的重要概念,C#中对集合的全面支持是该语言的精华之一。
恰当运用泛型集合,可以 减少 很多重复工作,极大的 提高 开发效率。
动态更新
-
编码中遇到的相关BUG:
-
在编写二维List的时候,我使用二维数组进行初始化。
以下是正确打开方式。
string[,] sarr=
{
{"北京","上海"},
{"广州","深圳"},
}
List<List<string>> list=new List<List<string>>();
int l=0;
int z=0;
foreach(string s in sarr)//二维数组对list进行初始化
{
list[l].Add(i);
z++;
if(z==1){
l++;
z=0;
}
}
string msg="";
foreach(List<string> l in list)
{
foreach(string i in l)
msg+=i+" ";
print(i);
}
返回:船坞 |
---|
To Top |