C#基础-hashtable,泛型和字典集合
hashtable 的存储方式
使用方法:
1.引入包含Hashtable的命名空间
using System.Collections; // 引入Hash所在的命名空间
2.往hash表里面添加数据
Hashtable hash = new Hashtable();
// 往hash里面添加数据
hash.Add(1, "Hello");
hash.Add(2, "World");
hash.Add(3, "C#");
3.访问Hash表的方法
1.键对于值
2.遍历键的集合
3.使用遍历器
// 访问hash数据的3种方法:
// 访问hash数据,采用键的方式
Console.WriteLine(hash[1]);
// 可以采用遍历它的键集合访问
var skeys = hash.Keys; // hash的键的集合
foreach(object o in skeys)
{
Console.WriteLine("键:{0},值:{1}", o, hash[o]);
}
// 遍历器访问
var ie = hash.GetEnumerator(); // 获取遍历器
while (ie.MoveNext()) // 依次遍历每一行数据
{
Console.WriteLine("键:{0},值:{1}", ie.Key,ie.Value);
}
泛型
ArrayList arrList = new ArrayList();
arrList.Add(1);
arrList.Add("hello");
arrList.Add(DateTime.Now);
在使用ArrayList的时候,无法保证类型的一致性,泛型的出现就是解决这个问题,泛型规定了数据类型
1.引入泛型的命名空间
using System.Collections.Generic; // 泛型使用的命名空间
2.泛型使用
// 泛型规定了数据类型
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
3.泛型的遍历
foreach遍历
// 泛型的遍历
foreach(int i in list)
{
Console.WriteLine(i);
}
for语句遍历
// for语句遍历
for(int i = 0; i < list.Count; i++)
{
Console.WriteLine("泛型的索引:{0},泛型的数据:{1}", i, list[i]);
}
字典集合存储与访问
与hashtable差不多,但是类型是一致的
// 字典集合的存储
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("1001", "Jake");
dic.Add("1002", "Max");
dic.Add("1003", "Kate");
// 采用类似与访问hash方式访问
Console.WriteLine(dic["1001"]);
// 获取键遍历访问
var keys = dic.Keys;
foreach(string str in keys)
{
Console.WriteLine("键:{0},值:{1}",str,dic[str]);
}
// 采用遍历器去访问
var ie = dic.GetEnumerator();
while (ie.MoveNext())
{
Console.WriteLine("键:{0},值:{1}", ie.Current.Key, ie.Current.Value);
}