草庐IT

edi-dictionary-viewer

全部标签

c# - Lookup() 和 Dictionary(Of list()) 之间的区别

我正在努力思考哪些数据结构最有效以及何时/何地使用哪些数据结构。现在,可能是我对结构的理解不够好,但是ILookup(ofkey,...)与Dictionary(of键,列表(...))?此外,我想在哪里使用ILookup以及在程序速度/内存/数据访问等方面效率更高的地方? 最佳答案 两个显着差异:Lookup是不可变的。耶:)(至少,我相信具体的Lookup类是不可变的,并且ILookup接口(interface)不提供任何可变成员。当然,可能还有其他可变实现。)当您查找查找中不存在的键时,您会得到一个空序列而不是KeyNotFo

c# - 通过数字索引访问 Dictionary.Keys 键

我正在使用Dictionaryint在哪里是key的计数。现在,我需要访问Dictionary中最后插入的Key,但我不知道它的名称。明显的尝试:intLastCount=mydict[mydict.keys[mydict.keys.Count]];不起作用,因为Dictionary.Keys没有实现[]-indexer。我就想知道有没有类似的类?我考虑过使用堆栈,但它只存储一个字符串。我现在可以创建自己的结构,然后使用Stack,但我想知道是否还有另一种选择,本质上是一个在键上实现[]-indexer的字典? 最佳答案 正如@Fa

c# - 通过数字索引访问 Dictionary.Keys 键

我正在使用Dictionaryint在哪里是key的计数。现在,我需要访问Dictionary中最后插入的Key,但我不知道它的名称。明显的尝试:intLastCount=mydict[mydict.keys[mydict.keys.Count]];不起作用,因为Dictionary.Keys没有实现[]-indexer。我就想知道有没有类似的类?我考虑过使用堆栈,但它只存储一个字符串。我现在可以创建自己的结构,然后使用Stack,但我想知道是否还有另一种选择,本质上是一个在键上实现[]-indexer的字典? 最佳答案 正如@Fa

c# - 返回 Dictionary<string, string> 的 LINQ 查询

我有一个MyClass集合,我想使用LINQ查询这些集合以获取不同的值,并返回一个Dictionary作为结果,但我不知道该怎么做比我在下面做的更简单。我可以使用哪些更简洁的代码来获取Dictionary作为我的结果?vardesiredResults=newDictionary(StringComparer.OrdinalIgnoreCase);varqueryResults=(fromMyClassmcinmyClassCollectionorderbybp.SomePropToSortOnselectnewKeyValuePair(mc.KeyProp,mc.ValueProp)

c# - 返回 Dictionary<string, string> 的 LINQ 查询

我有一个MyClass集合,我想使用LINQ查询这些集合以获取不同的值,并返回一个Dictionary作为结果,但我不知道该怎么做比我在下面做的更简单。我可以使用哪些更简洁的代码来获取Dictionary作为我的结果?vardesiredResults=newDictionary(StringComparer.OrdinalIgnoreCase);varqueryResults=(fromMyClassmcinmyClassCollectionorderbybp.SomePropToSortOnselectnewKeyValuePair(mc.KeyProp,mc.ValueProp)

c# - 什么更有效率 : Dictionary TryGetValue or ContainsKey+Item?

来自MSDN关于Dictionary.TryGetValueMethod的条目:ThismethodcombinesthefunctionalityoftheContainsKeymethodandtheItemproperty.Ifthekeyisnotfound,thenthevalueparametergetstheappropriatedefaultvalueforthevaluetypeTValue;forexample,0(zero)forintegertypes,falseforBooleantypes,andnullforreferencetypes.UsetheTry

c# - 什么更有效率 : Dictionary TryGetValue or ContainsKey+Item?

来自MSDN关于Dictionary.TryGetValueMethod的条目:ThismethodcombinesthefunctionalityoftheContainsKeymethodandtheItemproperty.Ifthekeyisnotfound,thenthevalueparametergetstheappropriatedefaultvalueforthevaluetypeTValue;forexample,0(zero)forintegertypes,falseforBooleantypes,andnullforreferencetypes.UsetheTry

c# - .NET HashTable 与 Dictionary - Dictionary 能一样快吗?

我正在尝试找出何时以及为何使用字典或哈希表。我在这里做了一些搜索,发现人们在谈论我完全同意的字典的通用优势,这导致了装箱和拆箱的优势,从而获得了轻微的性能提升。但是我也读过字典不会总是按照插入的顺序返回对象,它是排序的。哈希表将在哪里。据我了解,这会导致HashTable在某些情况下更快。我的问题是,这些情况可能是什么?我上面的假设是不是错了?您可能会在什么情况下选择一个优先于另一个,(是的,最后一个有点模棱两可)。 最佳答案 System.Collections.Generic.Dictionary和System.Collecti

c# - .NET HashTable 与 Dictionary - Dictionary 能一样快吗?

我正在尝试找出何时以及为何使用字典或哈希表。我在这里做了一些搜索,发现人们在谈论我完全同意的字典的通用优势,这导致了装箱和拆箱的优势,从而获得了轻微的性能提升。但是我也读过字典不会总是按照插入的顺序返回对象,它是排序的。哈希表将在哪里。据我了解,这会导致HashTable在某些情况下更快。我的问题是,这些情况可能是什么?我上面的假设是不是错了?您可能会在什么情况下选择一个优先于另一个,(是的,最后一个有点模棱两可)。 最佳答案 System.Collections.Generic.Dictionary和System.Collecti

c# - 为什么在 C# 中 Dictionary 优于 Hashtable?

在大多数编程语言中,字典比哈希表更受青睐。这背后的原因是什么? 最佳答案 就其值(value)而言,字典是(概念上)哈希表。如果您的意思是“为什么我们使用Dictionary类而不是Hashtable类?”,那么答案很简单:Dictionary是泛型,Hashtable不是。这意味着您可以使用Dictionary获得类型安全,因为你不能向其中插入任何随机对象,而且你不必强制转换你取出的值。有趣的是,Dictionary.NETFramework中的实现基于Hashtable,正如您可以从其源代码中的注释中看出的那样:Thegener