jjzjj

Dictionary

全部标签

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# 嵌套字典

我的语法有什么问题?我希望能够使用此info["Gen"]["name"]获取值“Genesis”publicvarinfo=newDictionary>{{"Gen",newDictionary{{"name","Genesis"},{"chapters","50"},{"before",""},{"after","Exod"}}},{"Exod",newDictionary{{"name","Exodus"},{"chapters","40"},{"before","Gen"},{"after","Lev"}}}}; 最佳答案

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# - 如何在 .NET 中创建词典列表?

我正在尝试创建Dictionary的列表项目。我不确定如何在列表中添加项目以及如何在遍历列表时取回值。我想在C#中使用它,如下所示:publicList>MyList=newList>(); 最佳答案 5年来发生了很多变化...您现在可以执行以下操作:ListDictionarylist=newListDictionary();list.Add("Hello","Test1");list.Add("Hello","Test2");list.Add("Hello","Test3");尽情享受吧!

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

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

c# - 如何处理 ASP.NET MVC 3 中每个键的多个值?

我有以下问题:我正在使用的系统中最重要的功能之一是搜索页面。在此页面中,我有一些选项,例如每页记录数、开始日期、结束日期和有问题的选项:类型。一个人必须有选择不止一种类型的可能性(大多数时候,他们都会被选中)。为了完成这项工作,我创建了以下内容:Eventos:@Html.ListBox("events",Model.Events,new{style="width:100%"})它创建了一个列表框,我可以在其中选择多个选项,提交表单后,我的查询字符串将如下所示:/5?period=9&events=1&events=3&recordsPerPage=10可以看到创建了两个事件(这是我之

c# - 需要一个允许空键的 IDictionary<TKey,TValue> 实现

基本上,我想要这样的东西:Dictionarydict=newDictionary();dict.Add(null,"Nothing");dict.Add(1,"One");是否有任何内置到基类库中的允许这样做?上述代码在添加空键时会在运行时抛出异常。 最佳答案 您可以避免使用null并创建一个特殊的单例值类来做同样的事情。例如:publicsealedclassNothing{publicstaticreadonlyNothingValue=newNothing();privateNothing(){}}Dictionarydic

c# - 我应该为包含 10 个或更少项目的集合使用字典,还是有更好的选择?

我有一个对象列表,我需要尽快找到一个对象(通过它的名称属性)。我应该使用什么数据结构?我知道我可以使用字典,但列表中的项目永远不会超过10个,如果我没记错的话,如果集合包含10个或更少的项目,字典将实现为一个数组。谢谢。 最佳答案 MSDN推荐ListDictionary对于包含10个或更少项目的集合:ThisisasimpleimplementationofIDictionaryusingasinglylinkedlist.ItissmallerandfasterthanaHashtableifthenumberofelement