我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《C#常用泛型集合》, 一起来围观吧 https://blog.csdn.net/Cloudkings/article/details/79243962?utm_source=app
-------------------------------------------List<T>-----------------------------------------------------
使用List<>泛型集合,需要引入System.Collections.Generic(命名空间)
List<>是ArrayList的泛型等效类,即List<>对象的方法跟ArrayList一样,只不过它包含了泛型。
假设我们有一个学生类,我们希望集合只能够存放学生这种元素,就可以这样。
List<Student> stus = new List<Student>();
Student stu = new Student("小红","10000");
stus.Add(stu);
这样一来,一旦我们添加了其他类型的数据,在编译器就会出错。
stus.Add(1); //编译期错误
属性主要有两个:
Count //List<T>中包含的个数
Item[Int32] //获取或设置指定索引处的元素
主要的方法:
Add(T) //将对象添加到List<T>末尾
AddRange(<T>) //将集合的元素添加到List<T>末尾
AsReadOnly() //返回当前集合的只读包装器
BinarySearch(T) //在整个已排序的 List<T> 中搜索元素,并返回下标
Clear() //从 List<T> 中移除所有元素
Contains(T) //确定某元素是否在 List<T> 中
IndexOf(T) //返回集合中第一个匹配该元素的位置
Insert(Int32, T) //在指定位置,插入某个元素
LastIndexOf(T) //返回集合中最后一个匹配该元素的位置
Remove(T) //删除第一个匹配的元素
Sort() //进行正序排序
Reverse() //将整个 List<T> 中元素的顺序反转
-------------------------------------------Dictionary<K,V>-------------------------------------------------
Dictionary与Hashtable(哈希表)是等效的,只不过加了泛型,称为泛型哈希表(泛型字典)。
使用Dictionary同样需要引入System.Collections.Generic
Dictionary<int,Student> Stus = new Dictionary<int,Student>();
Student stu = new Student(){Name="姓名",Id=1};
Stus.Add(stu)
//查找某个Key相对应的元素
stus.ContainsKey(1);
//遍历Dictionary中所有的元素
foreach(KeyValuePair<int,Student> kv in stus)
{
Console.WriteLine("------{0}------",kv.Key);
kv.Value.Show();
}
重要的属性:
Count // 键/值对的数目
Item[TKey] //获取或设置与指定的键关联的值
重要的方法:
Add(TKey, TValue) //将指定的键和值添加到字典中
Clear() //清空整个泛型集合
ContainsKey(TKey) //确定是否包含指定键
ContainsValue(TValue) //确定是否包含特定值
Remove(TKey) //将带有指定键的值从泛型集合中移除