我今天参加面试,面试官问什么是字典,我们什么时候应该用它?第一部分很简单,但第二部分我无法回答,我知道这是一个键值对,但我总是使用对象列表来实现我的目标。
我搜索了很多,阅读了一些文章 this , and this但我发现每个人都在回答 How 部分而不是 When 部分,所以你能帮我解决一些我应该使用 Dictionary 的场景吗?
谢谢。
最佳答案
这通常是因为搜索的复杂性。在列表中搜索是 O(n),但在字典中搜索是 O(1)。
然而,这一切都取决于其他问题 - 列表是否按键排序?如果是这样,那么搜索就是O(nlogn),字典是如何实现的呢?在最坏的情况下,即使使用字典也可以实现 O(n)。
所以一般来说,当您需要通过某个键在某个集合中进行搜索时,您会使用字典。
关于c# - 什么时候在 C# 中使用字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37969936/