C#入门(10):集合用法介绍
在C#中,集合是一种特殊的数据类型,允许我们将多个元素组织在一起。这些元素可以是相同的类型或者可以是不同的类型。C#集合主要包括以下几种类型:
- List:它是一个有序的元素列表,用户可以添加、删除或查找元素。
- Dictionary:它是一个键值对的集合,用户可以使用键来获取对应的值。
- HashSet:它是一组不重复的元素,提供高效的集合操作,如并集、交集等。
- Queue:它是一种先进先出(FIFO)的集合,元素从集合的一端添加,并从另一端移除。
- Stack:它是一种后进先出(LIFO)的集合,元素从集合的顶部添加和移除。
以下是各种集合的使用示例:
List
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Add(6); // 添加元素
int firstNumber = numbers[0]; // 获取元素
numbers.Remove(1); // 删除元素
Dictionary
Dictionary<string, int> ages = new Dictionary<string, int>
{
{"Alice", 23},
{"Bob", 27}
};
ages.Add("Charlie", 30); // 添加元素
int ageOfAlice = ages["Alice"]; // 获取元素
ages.Remove("Alice"); // 删除元素
HashSet
HashSet<int> uniqueNumbers = new HashSet<int> { 1, 2, 3, 4, 5 };
uniqueNumbers.Add(6); // 添加元素
bool containsFour = uniqueNumbers.Contains(4); // 检查元素是否存在
uniqueNumbers.Remove(1); // 删除元素
Queue
Queue<string> queue = new Queue<string>();
queue.Enqueue("Alice"); // 添加元素
queue.Enqueue("Bob");
string firstInLine = queue.Dequeue(); // 移除并获取元素
Stack
Stack<string> stack = new Stack<string>();
stack.Push("Alice"); // 添加元素
stack.Push("Bob");
string topOfStack = stack.Pop(); // 移除并获取元素
以上示例应给出一个关于如何使用C#集合的基本概念。
集合的遍历
C#中所有的集合类都可以使用foreach
循环进行遍历。以下是各种集合遍历的示例:
List
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
foreach (int number in numbers)
{
Console.WriteLine(number);
}
Dictionary
Dictionary<string, int> ages = new Dictionary<string, int>
{
{"Alice", 23},
{"Bob", 27}
};
foreach (KeyValuePair<string, int> entry in ages)
{
Console.WriteLine($"Name: {entry.Key}, Age: {entry.Value}");
}
HashSet
HashSet<int> uniqueNumbers = new HashSet<int> { 1, 2, 3, 4, 5 };
foreach (int number in uniqueNumbers)
{
Console.WriteLine(number);
}
Queue
Queue<string> queue = new Queue<string>();
queue.Enqueue("Alice");
queue.Enqueue("Bob");
foreach (string name in queue)
{
Console.WriteLine(name);
}
Stack
Stack<string> stack = new Stack<string>();
stack.Push("Alice");
stack.Push("Bob");
foreach (string name in stack)
{
Console.WriteLine(name);
}
以上每个示例都将遍历集合中的每个元素,并使用Console.WriteLine
将其打印到控制台。请注意,遍历Dictionary
时,我们遍历的是KeyValuePair
实例,可以通过Key
和Value
属性访问键和值。