【C#基础知识】——ListAnd Dictionary泛型集合

时间:2022-09-03 17:56:35

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


知识点

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