C#数据结构揭秘一


在C#中,数据结构是组织和存储数据的方式,它们对于编写高效、可维护的代码至关重要。虽然“C#数据结构揭秘一”这个主题非常广泛,我可以为你概述一些C#中常用的数据结构及其基本用法。

### 1. 数组(Array)

数组是最基本的数据结构之一,用于存储固定数量的相同类型的数据项。


int[] numbers = { 1, 2, 3, 4, 5 };
foreach (int num in numbers)
{
    Console.WriteLine(num);
}

### 2. 列表(List)

`List` 是泛型集合,提供了比数组更灵活的数据结构,可以动态地添加、删除和访问元素。


List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
names.Add("David");
Console.WriteLine(names[3]); // 输出 David

### 3. 字典(Dictionary)

`Dictionary` 存储键值对集合,每个键都是唯一的,并且每个键都映射到最多一个值。


Dictionary<string, int> ageDict = new Dictionary<string, int>
{
    {"Alice", 30},
    {"Bob", 25}
};
Console.WriteLine(ageDict["Alice"]); // 输出 30

### 4. 集合(Set)

`HashSet` 是一个不包含重复元素的集合。它主要用于快速查找、添加和删除操作。


HashSet<int> numbersSet = new HashSet<int> { 1, 2, 3, 4, 5 };
numbersSet.Add(3); // 不会添加,因为已存在
Console.WriteLine(numbersSet.Contains(3)); // 输出 True

### 5. 栈(Stack)

`Stack` 是一种后进先出(LIFO)的数据结构,它允许你添加或移除位于集合顶部的元素。


Stack<int> stack = new Stack<int>();
stack.Push(1);
stack.Push(2);
Console.WriteLine(stack.Pop()); // 输出 2

### 6. 队列(Queue)

`Queue` 是一种先进先出(FIFO)的数据结构,它允许你添加元素到集合的末尾,并从集合的开始移除元素。


Queue<int> queue = new Queue<int>();
queue.Enqueue(1);
queue.Enqueue(2);
Console.WriteLine(queue.Dequeue()); // 输出 1

这些只是C#中数据结构的一小部分示例。每种数据结构都有其特定的用途和性能特点,选择正确的数据结构对于编写高效、可维护的代码至关重要。