C#关于System.Collections空间详解
简介
System.Collections是一个命名空间,包含一组接口和类,用于定义集合的通用构造和算法。System.Collections是C#内置的原生集合框架,相当于Java中的集合类库。在C#中,强烈推荐使用System.Collections,而不是手动编写集合算法。
术语
在学习System.Collections时,需要了解三个主要的术语:
-
Collection:存储对象的容器,比如List和Dictionary
-
Enumerator:用于遍历集合中的元素。通常用于循环遍历元素。
-
Comparable:接口,可以用于实现对象的比较方法。比如在排序时会用到。
集合类
C#中的集合类主要分为List、Dictionary、Queue、Stack、Hashtable、SortedList六类。
List
List是动态数组,支持动态添加和删除元素,支持元素顺序访问。List基本操作如下:
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Remove(2);
Dictionary
Dictionary是键值对集合,通过键可以快速访问对应的值,常用于快速查找或组织数据。Dictionary基本操作如下:
Dictionary<string, int> dict = new Dictionary<string, int>();
dict.Add("Tom", 20);
dict.Add("Jerry", 18);
int age = dict["Tom"];
Queue
Queue是队列,支持元素的入队和出队操作。元素从队列尾部入队,从队列头部出队。Queue基本操作如下:
Queue<string> queue = new Queue<string>();
queue.Enqueue("a");
queue.Enqueue("b");
queue.Enqueue("c");
string str = queue.Dequeue();
Stack
Stack是栈,支持元素的入栈和出栈操作。元素从栈顶入栈,从栈顶出栈。Stack基本操作如下:
Stack<string> stack = new Stack<string>();
stack.Push("a");
stack.Push("b");
stack.Push("c");
string str = stack.Pop();
Hashtable
Hashtable是哈希表,支持通过键快速查找对应的值。Hashtable基本操作如下:
Hashtable hashtable = new Hashtable();
hashtable.Add("Tom", 20);
hashtable.Add("Jerry", 18);
int age = (int)hashtable["Tom"];
SortedList
SortedList是有序的键值对集合,支持自动按照键排序。SortedList基本操作如下:
SortedList sortedList = new SortedList();
sortedList.Add("Tom", 20);
sortedList.Add("Jerry", 18);
int age = (int)sortedList["Tom"];
Enumerator
在遍历集合中的元素时,需要使用Enumerator。Enumerator支持如下操作:
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
IEnumerator<int> enumerator = list.GetEnumerator();
while (enumerator.MoveNext())
{
int num = enumerator.Current;
}
Comparable
IComparable接口提供对象间的比较功能,可以通过实现IComparable接口来对对象进行排序。比如:
class Student : IComparable<Student>
{
public string Name { get; set; }
public int Score { get; set; }
public int CompareTo(Student other)
{
return this.Score - other.Score;
}
}
List<Student> list = new List<Student>();
list.Add(new Student { Name = "Tom", Score = 90 });
list.Add(new Student { Name = "Jerry", Score = 80 });
list.Sort();
以上就是关于C#中System.Collections空间的详细介绍,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#关于System.Collections空间详解 - Python技术站