复制
收藏
提问
简洁
我想知道C#中所有的数据结构和常用用法
2个月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
C#是一种面向对象的编程语言,它提供了多种内置的数据结构,这些数据结构可以用于存储和组织数据。以下是一些C#中常见的数据结构及其用法:
-
基本数据类型:
- 整型:
int
,long
,short
,byte
,sbyte
,uint
,ulong
- 浮点型:
float
,double
,decimal
- 字符型:
char
- 布尔型:
bool
- 整型:
-
数组 (
Array
):- 用于存储固定大小的同类型元素集合。
- 声明:
int[] numbers = new int[5];
- 访问:
numbers[0] = 10;
-
列表 (
List<T>
):- 动态数组,可以自动调整大小。
- 声明:
List<int> numbers = new List<int>();
- 添加元素:
numbers.Add(10);
- 访问元素:
int firstNumber = numbers[0];
-
字典 (
Dictionary<TKey, TValue>
):- 存储键值对的集合,键必须是唯一的。
- 声明:
Dictionary<string, int> scores = new Dictionary<string, int>();
- 添加元素:
scores.Add("Alice", 90);
- 访问元素:
int aliceScore = scores["Alice"];
-
栈 (
Stack<T>
):- 后进先出(LIFO)的数据结构。
- 声明:
Stack<int> stack = new Stack<int>();
- 推入元素:
stack.Push(10);
- 弹出元素:
int top = stack.Pop();
-
队列 (
Queue<T>
):- 先进先出(FIFO)的数据结构。
- 声明:
Queue<int> queue = new Queue<int>();
- 入队:
queue.Enqueue(10);
- 出队:
int front = queue.Dequeue();
-
链表 (
LinkedList<T>
):- 双向链表,允许高效地插入和删除节点。
- 声明:
LinkedList<int> linkedList = new LinkedList<int>();
- 添加元素:
linkedList.AddLast(10);
- 访问元素:
int first = linkedList.First.Value;
-
集合 (
HashSet<T>
):- 存储唯一元素的集合,元素无序。
- 声明:
HashSet<int> set = new HashSet<int>();
- 添加元素:
set.Add(10);
- 检查元素是否存在:
bool contains = set.Contains(10);
-
排序列表 (
SortedList<TKey, TValue>
):- 键值对集合,键是有序的。
- 声明:
SortedList<string, int> sortedList = new SortedList<string, int>();
- 添加元素:
sortedList.Add("Bob", 85);
-
位数组 (
BitArray
):- 用于存储位值(0或1)的数组。
- 声明:
BitArray bitArray = new BitArray(8);
- 设置位:
bitArray[0] = true;
-
可观察集合 (
ObservableCollection<T>
):- 支持数据绑定的集合,当集合内容变化时可以通知绑定的UI元素。
- 声明:
ObservableCollection<int> observableCollection = new ObservableCollection<int>();
这些数据结构在C#中有着广泛的应用,可以根据具体的需求选择合适的数据结构来存储和操作数据。
你觉得结果怎么样?