草庐IT

learning-swift-ordered-dictionari

全部标签

c# - 如何测试一个空的 generic.dictionary 集合?

如何测试通用字典对象以查看它是否为空?我想按如下方式运行一些代码:while(reportGraphs.MoveNext()){reportGraph=(ReportGraph)reportGraphs.Current.Value;report.ContainsGraphs=true;break;}reportGraph对象的类型是System.Collections.Generic.Dictionary运行此代码时,reportGraphs字典为空,MoveNext()立即抛出NullReferenceException。如果有更高效的方法来处理空集合,我不想在block周围放置tr

c# - 从 linq 查询返回 Dictionary<string, string>

我有一个表,其中2列定义为varchar(50):Column1和Column2。我想返回的字典其中每一行都在字典中,其中Column1是键,Column2是值。这是我的:publicDictionaryLoadAllTheDataFromDB(){using(MyDCTheDC=newMyDC()){return(fromcinTheTableselectnewDictionary(){//stuckhere}).FirstOrDefault();}}如何让字典充满? 最佳答案 试试这个:vardict=TheTable.Sele

c# - Dictionary 是否损坏或 GetHashCode() 应该仅基于不可变成员?

将对象添加到.NET时System.Collections.Generic.Dictionaryclass内部存储了key的hashcode,用于后面的比较。当hashcode在初始插入字典后发生变化时,它通常会变得“不可访问”,并且当存在检查(即使使用相同的引用)返回false时可能会让用户感到惊讶(下面的示例代码)。GetHashCode文档说:TheGetHashCodemethodforanobjectmustconsistentlyreturnthesamehashcodeaslongasthereisnomodificationtotheobjectstatethatdet

c# - IDictionary<string, string> 与 Dictionary<string, string>

在这里使用IDictionary的值(value)是什么? 最佳答案 使用接口(interface)的值(value)始终相同:切换到另一个后端实现时,您不必更改客户端代码。请考虑稍后分析您的代码表明哈希表实现(在Dictionary类中使用)不适合您的任务,二叉搜索树的性能会更好。如果您已经编码到一个接口(interface),那么切换实现就很简单了。但是,如果您使用的是具体类,则必须在更多地方更改更多代码。=>这会花费时间和金钱。 关于c#-IDictionary与Dictionar

c# - 比 Dictionary<Type, X> 更快的选择?

我正在创建一个正在进行性能测试的库。在其中我生成了一个Dictionary一次。这些项目当前以随机顺序插入。字典在应用程序生命周期内保持不变。然后它经常用于查找项目。查找是库中较大的瓶颈之一。是的,我正在微观优化,但要学习。我想知道是否有更好的方法来获得查找性能?更新我使用dotTrace来衡量性能。报告+dotTrace在我的家用电脑中,所以我这里没有报告(本可以上传到其他地方)。我使用了这里的测试:https://github.com/danielpalme/IocPerformance字典定义可在此处找到:https://github.com/jgauffin/Griffin.C

c# - 使用 SUM 和 ORDER BY 的 Linq 查询

我有一个名为Hit的(C#)类,它有一个ItemID(int)和一个Score(int)属性。为了简短起见,我跳过了其余的细节。现在在我的代码中,我有一个巨大的列表,我需要在上面执行以下选择(进入一个新列表):我需要为每个单独的Hit.ItemID获取所有Hit.Score的总和,按分数排序。所以如果我在原始列表中有以下项目ItemID=3,Score=5ItemID=1,Score=5ItemID=2,Score=5ItemID=3,Score=1ItemID=1,Score=8ItemID=2,Score=10结果列表应包含以下内容:ItemID=2,Score=15ItemID=

c# - : Dictionary<string, object> 或 Dictionary<enum,object> 哪个更快/更有效?

enum类型用作字典键时是否比string类型更快/更有效?IDictionaryorIDictionary事实上,哪种数据类型最适合作为字典键,为什么?请考虑以下事项:注意:为简单起见,只有5个属性structMyKeys{publicstringIncomplete="IN";publicstringSubmitted="SU";publicstringProcessing="PR";publicstringCompleted="CO";publicstringClosed="CL";}和enumMyKeys{Incomplete,Submitted,Processing,Comp

c# - Json Serialize Dictionary<Enum, Int32> 的问题

每当我尝试序列化字典时,我都会得到异常:System.ArgumentException:Type'System.Collections.Generic.Dictionary`2[[Foo.DictionarySerializationTest+TestEnum,Foo,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null],[System.Int32,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089]]'isnotsupportedfors

c# - 用 foreach 遍历 Dictionary,这是按什么顺序完成的?

假设我有一个字典,我按特定顺序添加每个键和值条目。现在,如果我希望稍后能够以添加条目的相同顺序迭代此Dictionary,这是我在该字典上使用简单的foreach循环获得的顺序吗?如果没有,我会很高兴听到我该怎么做,我知道这可以用List而不是Dictionary轻松完成,但我不想到。谢谢 最佳答案 普通的Dictionary不保证项目的顺序。你需要OrderedDictionary如果您想维护添加到其中的订单项目。请注意,在.Net框架中没有此类的通用版本,因此要么必须放弃一些类型安全性,要么找到其他实现(即https://www

c# - 将 Dictionary<string, string> 转换为 Dictionary<string, object> 的最简单方法是什么?

我使用的API返回键值集合作为Dictionary.我需要将其转换为Dictionary.我觉得应该有一种方法可以在不“手动”遍历每个键值对的情况下进行这种转换/映射,但谷歌搜索或C#对象引用并没有立即产生解决方案。 最佳答案 尝试以下操作varnewMap=oldMap.ToDictionary(pair=>pair.Key,pair=>(object)pair.Value); 关于c#-将Dictionary转换为Dictionary的最简单方法是什么?,我们在StackOverfl