【C#基础知识】——List<T>And Dictionary<K,V>泛型集合

来源:互联网 发布:php字符串转二进制流 编辑:程序博客网 时间:2024/06/05 09:29

List< T >泛型集合的基本使用

List 引用命名空间 using System.Collections.Generic;

创建一个泛型集合对象

 // 创建泛型集合对象 List<int> list = new List<int>();

注意里面的类型一旦确定不能修改。

// 添加单个元素list.Add(1);list.Add(2);list.Add(3);// 添加集合的元素list.AddRange(new int[] { 1, 2, 3, 4 });// 移除指定的单个元素。list.Remove(1);// 移除指定的索引元素list.RemoveAt(1);// 根据索引移除移动范围内的元素list.RemoveRange(0, 2);// 升序排列list.Sort();// 集合中的元素顺序反转list.Reverse();// 将单个元素插入指定的索引下标处list.Insert(1, 2);// 将集合元素插入指定的索引下标处list.InsertRange(0, new int[] { 1, 2, 3, 4 });// 判断集合中是否包含某个指定的元素bool b = list.Contains(1);// List 泛型集合可以转换为数组int[] i = list.ToArray();// 将数组转集合List<int> listInt =  i.ToList();

List 方法:

1 . Add(value);
将对象添加到 ArrayList 结尾处。(添加单个元素)
2 . AddRange(IEnumerable< T > collection);
用于添加集合元素。
3 . Clear();
移除 ArrayList 集合中的所有元素。
4 . Remove(item);
移除指定的单个元素。
5 . RemoveAt(int index);
根据下标去移除元素。
6 . RemoveRange(int index,int count);
根据索引下标移除一定范围内的元素。
7 . Sort();
升序排列。
8 . Reverse();
集合中的元素顺序反转。
9 . Insert(int index, item);
将 item 元素插入指定的索引下标处。
10 . Contains(value);
判断是否包含某个指定的元素。
11 . ToArray();
将集合转换为数组。
12 . ToList();
将数组转为集合。


Dictionary< K,V >字典

命名空间 using System.Collections.Generic;

Dictionary 键值对集合.(字典)
该集合中的每个数据都是有两部分组成的,键(Key)和值(Value)。在键值对集合当中键必须是唯一的,而值是可以重复的。

 // 创建一个键值对集合对象 Dictionary<string, string> dic = new Dictionary<string, string>(); // 添加 dic.Add("1", "一"); dic.Add("2", "二"); dic.Add("3", "三"); dic.Add("4", "四"); // 在键值对集合中,是根据键去找值。 // dic["1"] 根据键去查找相对应的值 Console.WriteLine(dic["1"]); // Keys 获取键值对的集合键,Values 获取键值对的值 // 遍历集合的键 foreach (var item in dic.Keys) {     Console.WriteLine("键是————:{0},值是————:{1}",item,dic[item]); } // 另一种遍历方式  KeyValuePair<k,v> 一对数据一对数据的遍历。  //类型必须要和你遍历的集合类型一致 foreach (KeyValuePair<string, string> item in dic) {     Console.WriteLine("{0},{1}",item.Key,item.Value); } Console.WriteLine("-----------------------------------"); // *** 键值对集合当中,键必须是唯一的,而值可以重复 // 这样也可以添加数据,但是如果键在集合中已经存在,值会覆盖掉之前键所对应的值 dic["5"] = "五"; // 例如; dic["1"] = "one"; foreach (var item in dic.Keys) {     Console.WriteLine("键是————:{0},值是————:{1}", item, dic[item]); } Console.WriteLine("+++++++++++++++++++++++++++++++++++++++++++++++"); // 判断键值对当中是否包含某个键 if (!dic.ContainsKey("6")) {     dic.Add("6", "六"); } foreach (var item in dic.Keys) {     Console.WriteLine("键是————:{0},值是————:{1}", item, dic[item]); } Console.WriteLine("---------------------------------------------"); //dic.Clear(); //移除集合中所有的元素 dic.Remove("1"); foreach (var item in dic.Keys) {     Console.WriteLine("键是————:{0},值是————:{1}", item, dic[item]); } Console.Read();
1 . Add(K,V);
往集合中添加数据。K键,V值。
2 . ContainsKey(string key);
判断键值对当中是否包含某个键。
3 . Clear();
移除集合中所有的元素。
4 . Remove(string key);
移除所指定的键的值。
5 . 集合名[键名];
取出指定键名所对应的数据。

在键值对集合中,我们是根据键去找值的。所以键值对遍历时我们我们先要遍历集合键;Keys 获取键值对的集合键,Values 获取键值对的值。

foreach (var item in dic.Keys){    Console.WriteLine("键是———:{0},值是———:{1}",item,dic[item]);}

Dictionary< k , v >有另一种遍历方式 KeyValuePair< Tk , Tv > 一对数据一对数据的遍历。类型必须要和你遍历的集合类型一致。

foreach (KeyValuePair<string, string> item in dic){    Console.WriteLine("{0},{1}",item.Key,item.Value);}


集合实例:

http://download.csdn.net/detail/joinl/9838927


知识点

泛型集合:一旦确定了泛型集合的类型里面元素的类型也就确定了,泛型集合只能存储固定类型的对象。也就不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换。

0 0