草庐IT

my_dictionary

全部标签

c# - Dictionary.Add 与 Dictionary[key]=value 的区别

这个问题在这里已经有了答案:DifferentwaysofaddingtoDictionary(8个答案)关闭8年前。Dictionary.Add方法和索引器Dictionary[key]=value有什么区别?

c# - 如果键不存在,C# Dictionary<int, int> 查找会发生什么情况?

我尝试检查null但编译器警告说这种情况永远不会发生。我应该寻找什么? 最佳答案 假设您希望在键确实存在时获取值,请使用Dictionary.TryGetValue:intvalue;if(dictionary.TryGetValue(key,outvalue)){//Keywasindictionary;"value"containscorrespondingvalue}else{//Keywasn'tindictionary;"value"isnow0}(使用ContainsKey然后索引器让它查找键两次,这是毫无意义的。)请注

c# - 如果键不存在,C# Dictionary<int, int> 查找会发生什么情况?

我尝试检查null但编译器警告说这种情况永远不会发生。我应该寻找什么? 最佳答案 假设您希望在键确实存在时获取值,请使用Dictionary.TryGetValue:intvalue;if(dictionary.TryGetValue(key,outvalue)){//Keywasindictionary;"value"containscorrespondingvalue}else{//Keywasn'tindictionary;"value"isnow0}(使用ContainsKey然后索引器让它查找键两次,这是毫无意义的。)请注

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

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

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