List
数组最适用于创建和使用固定数量的强类型化对象。它在内存中是顺序连续存储的,所以它的索引速度非常快,赋值与修改元素也很简单;而集合提供更灵活的方式来使用对象组。 与数组不同,你使用的对象组随着应用程序更改的需要动态地放大和缩小。 对于某些集合,你可以为放入集合中的任何对象分配一个密钥,这样你便可以使用该密钥快速检索此对象。
名称 | 类型 | 说明 |
Add | 方法 | 向集合中增加一个元素 |
AddRange | 方法 | 批量增加元素 |
Clear | 方法 | 清楚所有元素 |
Contains | 方法 | 查询是否包含某个元素 |
CopyTo | 方法 | 复制元素到集合 |
IndexOf | 方法 | 返回指定元素在集合中的位置,如果集合中不存在该元素,则返回-1 |
Insert | 方法 | 向集合的指定位置插入一个元素 |
InsertRange | 方法 | 向集合的指定位置批量插入元素 |
LastIndexOf | 方法 | 返回指定元素在集合中最后一次出现的位置,如果集合中不存在该元素,则返回-1 |
Remove | 方法 | 删除指定的元素 |
RemoveAt | 方法 | 删除指定位置的元素 |
RemoveRange | 方法 | 批量删除指定位置开始之后的几个元素 |
Reverse | 方法 | 反转集合中元素的顺序 |
Sort | 方法 | 对集合中的元素进行排序 |
ToArray | 方法 | 将集合转换为数组 |
Item(索引器) | 属性 | 某个位置对应的元素 |
Count | 属性 | 返回集合中包含元素的个数。 |
VB.Net |
'创建一个集合 Dim salmons As New List(Of String) salmons.Add("黄色") salmons.Add("绿色") salmons.Add("黑色") salmons.Add("白色") '声明并同时初始化集合的方法 Dim lstCol As New List(Of String) From {"aa","ab","ac"} '批量添加元素 Dim arrCol() As String={"粉红","蓝色","青色"} salmons.AddRange(lstCol) '添加一个集合 salmons.AddRange(arrCol) '添加一个数组 '移除 salmons.Remove("ab") '删除指定的元素 salmons.RemoveAt(2) '删除指定位置的元素 salmons.RemoveRange(6,2) '批量删除指定位置开始之后的几个元素 Proj.MsgDebug.Add("-------移除后清单----------") Proj.MsgDebug.Add(String.Join(",",salmons.ToArray())) '插入 salmons.Insert(0,"透明色") '在首位插入 salmons.Insert(salmons.Count-1,"大红色") '在首位插入 salmons.Insert(2,"红色") '在指定位置插入 salmons.InsertRange(3,lstCol) '跟AddRange用法类似,只是多了一个插入的位置 Proj.MsgDebug.Add("-------插入后清单----------") Proj.MsgDebug.Add(String.Join(",",salmons.ToArray())) '根据元素的方式遍历 Proj.MsgDebug.Add("-------按元素遍历清单----------") For Each item As String In salmons Proj.MsgDebug.Add(item) Next '用序号的方式遍历 Proj.MsgDebug.Add("-------按序号遍历清单----------") For i As Integer = 0 To salmons.Count-1 Proj.MsgDebug.Add(salmons(i)) Next '集合是泛型的,所以既可以声明基础类型的集合,也可以声明引用类型的集合 Dim lstTables As New List(Of SmGrid) '不区分大小写 If lstCol.Contains("AA",StringComparer.OrdinalIgnoreCase) Then '返回OK Proj.MsgDebug.Add("OK") Else Proj.MsgDebug.Add("NO") End If '区分大小写判断 If lstCol.Contains("AA") Then '返回NO Proj.MsgDebug.Add("OK") Else Proj.MsgDebug.Add("NO") End If '排序 salmons.Sort() '对集合中的元素进行排序 Proj.MsgDebug.Add("-------排序后清单----------") Proj.MsgDebug.Add(String.Join(",",salmons.ToArray())) '反转 salmons.Reverse() Proj.MsgDebug.Add("-------反转后清单----------") Proj.MsgDebug.Add(String.Join(",",salmons.ToArray())) '转换为数组 Dim strResult As String=String.Join(",",salmons.ToArray()) Proj.MsgDebug.Add("拼接成字符串:"+strResult) '查找 Proj.MsgDebug.Add("最后一次出现的位置:" & salmons.LastIndexOf("ac")) '清空 salmons.Clear() Proj.MsgDebug.Add(salmons.Count) '返回结果:红色 '返回结果:aa '返回结果:ab '返回结果:ac '返回结果:绿色 '返回结果:白色 '返回结果:aa '返回结果:ac '返回结果:大红色 '返回结果:粉红 '返回结果:-------按序号遍历清单---------- '返回结果:透明色 '返回结果:黄色 '返回结果:红色 '返回结果:aa '返回结果:ab '返回结果:ac '返回结果:绿色 '返回结果:白色 '返回结果:aa '返回结果:ac '返回结果:大红色 '返回结果:粉红 '返回结果:OK '返回结果:NO '返回结果:-------排序后清单---------- '返回结果:aa,aa,ab,ac,ac,白色,大红色,粉红,红色,黄色,绿色,透明色 '返回结果:-------反转后清单---------- '返回结果:透明色,绿色,黄色,红色,粉红,大红色,白色,ac,ac,ab,aa,aa '返回结果:拼接成字符串:透明色,绿色,黄色,红色,粉红,大红色,白色,ac,ac,ab,aa,aa '返回结果:最后一次出现的位置:8 '返回结果:0 |
C# |
|