集合类包括:ArrayList、List、Hashtable、Dictionary等都可以叫做集合类。
List<T>-->ArrayList
ArrayList,可以看做是动态的数组。Add、Clear、Contains、Count、Remove、RemoveAt、ToArray(转换,再没关系)、然而用ArrayList的麻烦的地方:数据放进去就不知道是什么类型的了;不能防止非法类型数据的放入;将ArrayList返回给其他函数,会令调用者很困惑。当我们感到困惑的时候,微软帮我们想出了使用List<T>来解决这一问题,假如是List<int>,我们很容易就能明白,<int>表示List中放得数据类型是int类型的,因为有声明类型时的约定,因此所有方法的参数、返回值都是确定的数据类型了。
List<int>实现了IEnumerable<int>(泛型版本的IEnumerable)、ICollection<int>(泛型版本的ICollection)。
Dictionary-->Hashtable
Dictionary是以Dictionary<key,value>的键值对。
Dictionary的例子:记录字母出现的次数
string s = "Welcome to Chinaworld";
Dictionary<char, int> dict = new Dictionary<char, int>();//key为字符,value为出现的次数
foreach (char ch in s.ToLower())
{
if (dict.ContainsKey(ch))//如果dict中含有这个字符就在出现次数上增加1
{
//dict[ch]++;
dict[ch] = dict[ch] + 1;
}
else
{
dict[ch] = 1;//如果不存在就初始化为1
}
}
foreach (char ch in dict.Keys)
{
Console.WriteLine("{0}出现{1}次",ch,dict[ch]);
}
Dictionary<K,V>的非泛型对应的是Hashtable
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------