用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++
【C++】优先级队列(容器适配器)
本文介绍了C++ STL中的线性容器及其适配器,包括栈、队列和优先队列的设计与实现。详细解析了`deque`的特点和存储结构,以及如何利用`deque`实现栈、队列和优先队列。通过自定义命名空间和类模板,展示了如何模拟实现这些容器适配器,重点讲解了优先队列的内部机制,如堆的构建与维护方法。
35 0
|
2月前
|
存储 搜索推荐 C++
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器2
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
66 2
|
2月前
|
存储 C++ 容器
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器1
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
71 5
|
2月前
|
存储 编译器 C++
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
82 2
|
3月前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
2月前
|
设计模式 存储 C++
【C++】C++ STL探索:容器适配器 Stack 与 Queue 的使用及模拟实现(二)
【C++】C++ STL探索:容器适配器 Stack 与 Queue 的使用及模拟实现
|
2月前
|
存储 C++ 容器
【C++】C++ STL探索:容器适配器 Stack 与 Queue 的使用及模拟实现(一)
【C++】C++ STL探索:容器适配器 Stack 与 Queue 的使用及模拟实现
|
4月前
|
C++ 容器
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树
45 5
|
4月前
|
存储 C++ 索引
|
5月前
|
存储 C++ 容器
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
70 5