C#基础-hashtable,泛型和字典集合

时间:2022-09-03 19:01:41

hashtable 的存储方式
C#基础-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);
}