从C++的角度讲解C#容器

简介: 从C++的角度讲解C#容器

讲解C#容器的文章网上一搜一大把,作为一名C++程序员如何高效学习C#容器呢,其实学语言如果能讲到这点就能触类旁通,举一反三,那效果是最好的


问题市面上没有这样的书籍,那就跟着老白来一起从C++的角度去讲解C#容器


1.List<T> - std::vector<T>


C# 中的 List<T> 是一个动态数组,可以存储任何类型的对象,类似于 C++ 中的 std::vector<T>。它们都提供了添加、删除、查找等功能,并且可以自动调整大小以适应存储的数据量。


这个老白刚学的时候也容易搞晕,以为c#的List是链表


2.Dictionary<TKey, TValue> - std::unordered_map<Key, Value>


C# 中的 Dictionary<TKey, TValue> 是一种键值对集合,其中每个键都是唯一的,类似于 C++ 中的 std::unordered_map<Key, Value>。它们都提供了添加、删除、查找等功能,并且可以通过键来访问值。


C#找不到map,原来在字典里


3.Stack<T> 和 Queue<T> - std::stack<T> 和 std::queue<T>


C# 中的 Stack<T> 和 Queue<T> 分别是后进先出(LIFO)和先进先出(FIFO)的数据结构,类似于 C++ 中的 std::stack<T> 和 std::queue<T>。它们都提供了添加、删除、查找等功能,并且可以用于许多不同的应用程序。


这个没啥好说,中规中矩


4.HashSet<T> - std::unordered_set<T>


C# 中的 HashSet<T> 是一个无序的集合,其中不允许重复的元素,类似于 C++ 中的 std::unordered_set<T>。它们都提供了添加、删除、查找等功能,并且可以用于高效地查找和比较数据。


5.SortedSet<T> - std::set<T>


C# 中的 SortedSet<T> 是一个有序的集合,其中不允许重复的元素,类似于 C++ 中的 std::set<T>。它们都提供了添加、删除、查找等功能,并且可以按照元素的顺序进行访问。


6.LinkedList<T> - std::list<T>


C# 中的 LinkedList<T> 是一个双向链表,可以存储任何类型的对象,类似于 C++ 中的 std::list<T>。它们都提供了添加、删除、查找等功能,并且可以通过链接节点来实现高效的插入和删除操作。


注意这才是链表数据结构


另外需要注意的是,C# 和 C++ 中的容器虽然有相似之处,但是它们在实现细节和性能上可能存在较大差异。因此,在使用这些容器时,应该根据具体的情况来选择适当的容器,并结合实际测试来评估其性能和效率。


好了,希望对转Unity,学习C#的你有帮助。


相关文章
|
1天前
|
算法 数据处理 C++
|
1天前
|
存储 安全 C++
|
1天前
|
C++ 索引 容器
|
3天前
|
存储 算法 C语言
【C++】详解STL的适配器容器之一:优先级队列 priority_queue
【C++】详解STL的适配器容器之一:优先级队列 priority_queue
|
3天前
|
设计模式 存储 缓存
【C++】详解STL容器之一的deque和适配器stack,queue
【C++】详解STL容器之一的deque和适配器stack,queue
|
3天前
|
存储 算法 C++
【C++】详解STL容器之一的 vector
【C++】详解STL容器之一的 vector
|
3天前
|
算法 C语言 C++
【C++】详解STL的容器之一:list
【C++】详解STL的容器之一:list