今天为大家分享的是C#中的泛型集合List< >的用法与详解
C#List泛型集合主要用于解决一系列的问题。这种机制允许把类名作为参数传递给泛型类型,并生成相应的对象,这里的泛型类型包括(类、接口、方法)等,也可以看成一个模版,末班中的变体(变量部分)被作为参数传进来的类名多代替,得到一个新的类型定义。
首先介绍一个Dictionary这个在C#中也是常用的一个泛型
首先导入C#泛型命名空间
using System.Collections.Generic;
特征:
(1)从一组键(Key)到一组值(Value )的映射,每一个添加项,都是有一个值以及其相关的键组成
(2)任何键都必须是唯一的
(3)键不能为空引用null,如果值为空则可以为空
创建:
Dictionary<int,string>myDictionary=new Dictionary<int,string>();
添加元素:利用.Add
myDictionary.Add("C#",0);
遍历元素:By KeyValuePair
foreach (KeyValuePair<string, int> kvp in myDictionary)
{
Console.WriteLine("Key = {0}, Value = {1}",kvp.Key, kvp.Value);
}
Dictionary<K,V>中元素的操作方法与HashTable相似,添加元素,获取元素,删除元素,遍历集合元素的方法基本相同。
Dictionary<K,V>和HashTable的不同点:
1.Dictionary<K,V>对添加的元素具有类型约束,HashTable可添加任意类型的元素。
2.Dictionary<K,V>不需要装箱、拆箱操作,HashTable添加时装箱,读取时拆箱。
第二个来说一下List< >
List有两种实现方式:
1. 使用ArrayList
直接将对象放入ArrayList,集合中的项是Object,每次使用都要注意类型的转换
2. 使用自定义集合类
比较常见的做法是从CollectionBase抽象类继承一个自定义类,通过对IList对象进行封装实现强类型集合
创建:
List<string> listMusicFile = new List<string>();
List<string> listLrc = new List<string>();
存入数据:
这里存入的是一个数组,;例如我们的播放器的歌曲名字和路径实现对应就是根据键和值得相互对应实现的。
List也有许多方法可以用,在下一张的List方法总结中我们将详细介绍