jjzjj

Dictionary

全部标签

c# - 字典的匿名集合初始值设定项

是否可以隐式声明下一个Dictionary:{urlA,new{Text="TextA",Url="UrlA"}},{urlB,new{Text="TextB",Url="UrlB"}}所以我可以这样使用它:foreach(varkindic){k.Key.Text=k.Value.Text;k.Key.NavigateUrl=k.Value.Url;}? 最佳答案 怎么样:vardict=new[]{new{Text="TextA",Url="UrlA"},new{Text="TextB",Url="UrlB"}}.ToDicti

c# - 使用 ToDictionary 构建排序字典

我不是C#和LINQ方面的专家。我有一个Dictionary,我理解是一个哈希表,也就是key没有排序。dataBase=newDictionary()Record是一个用户定义的类,它保存给定键字符串的大量数据。我发现了一个有趣的示例,它通过LINQ将此Dictionary转换为sorted字典:varsortedDict=(fromentryindataBaseorderbyentry.Keyascendingselectentry).ToDictionary(pair=>pair.Key,pair=>pair.Value);这段代码工作正常。生成的sortedDict按键排序。问

C# 序列化字典 <ulong,ulong> 到 JSON

我正在尝试将字典序列化为JSON,并出现以下异常:newJavaScriptSerializer().Serialize(mydict)`Type'System.Collections.Generic.Dictionary`2[[System.UInt64,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.Nullable`1[[System.UInt64,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77

c# - 将 XML 文档转换为字典

我不需要编辑任何XML文件或任何东西,这只是为了阅读和解析。我希望能够将XML文档作为字典来处理,例如:username=doc["username"];,但我找不到如何“转换”文档。我也遇到过重复键名的问题,但是可以通过在每个值上附加1、2等来轻松避免这种情况;也可以轻松进行for循环。这可能吗?将(已解析的)XML文档视为字典?对梅赫达德的回答:它会不时变化,这取决于用户的请求。如果用户请求x,那么它将是:foo123foobar但是如果他请求y,就会像1000...@...foobar最好的情况是:1003foobarbar"可以被解析然后作为doc["mengde"]等访问

c# - 将 XML 读入字典

我需要将XML文件读入字典。我读了一些指南,我只是被我不理解的奇怪词弄糊涂了(比如节点、XML验证等)。那么,你能帮我介绍一下吗?我有一个以这种格式编写的XML文件:如前所述,我想将其存储在字典中。我该怎么做? 最佳答案 vardata=XElement.Parse(xml).Elements("def").ToDictionary(el=>(int)el.Attribute("number"),el=>(string)el.Attribute("name"));这个:将xml解析为XElement(从开始)遍历元素使用@numbe

c# - Dictionary.ElementAt 方法在某些类中可见,但在其他类中不可见

我有一个字典,我需要遍历其中的元素并进行更改。我不能使用foreach语句,因为它有时会抛出InvalidOperationException,表示在枚举期间无法修改集合。我可以使用for循环,结合Dictionary.ElementAt方法,我在其他类中成功使用它,但是在这个特定的类中,找不到ElementAt方法!有什么想法吗? 最佳答案 ElementAt是一个extensionmethod在System.Linq.Enumerable中定义.您需要添加一个using子句以使其可见:usingSystem.Linq;请注意,D

c# - 如何通过整数索引引用 Dictionary<string, string> 中的项目?

我做了一个字典集合,以便我可以通过它们的字符串标识符快速引用这些项目。但我现在还需要通过索引计数器访问这个集合(foreach在我的真实示例中不起作用)。我必须对下面的集合做什么才能通过整数索引访问它的项目?usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceTestDict92929{classProgram{staticvoidMain(string[]args){Dictionaryevents=newDictionary();events.Add("firs

c# - 为什么我要使用 HashSet 而不是 Dictionary?

我正在尝试在A*算法上实现缓存路径列表。目前,缓存路径存储在如下列表中:readonlyList_cachedPaths=newList();在此列表上执行的操作是:FirstOrDefault获取满足一定条件的元素varcached=_cachedPaths.FirstOrDefault(p=>p.From==from&&p.To==target&&p.Actor==self);删除和元素_cachedPaths.Remove(cached);添加_cachedPaths.Add(newCachedPath{From=from,To=target,Actor=self,Result=

c# - 从 Dictionary<Key, Item> 中移除元素

我有一个字典,其中的项目是(例如):“A”,4“乙”,44“再见”,56“C”,99“D”,46"6672",0我有一个列表:“一个”“C”“D”我想从我的字典中删除所有键不在我的列表中的元素,最后我的字典将是:“A”,4“C”,99“D”,46我该怎么办? 最佳答案 构造新的Dictionary以包含列表中的元素更简单:ListkeysToInclude=newList{"A","B","C"};varnewDict=myDictionary.Where(kvp=>keysToInclude.Contains(kvp.Key)).

c# - 多部分 int 字典键的最佳方法?

假设我的字典需要由ItemId和RegionId的组合作为键,都是int。并说值(value)方的类型是“数据”。我可以通过几种方式做到这一点:方式一:多级字典,像这样:Dictionary>myData;所以查找可以这样编码:Datadata1=myData[itemId][regionId];不错,但缺点是我需要在第一级检查key是否存在,因此更安全的代码是Datadata1=null;if(myData.ContainsKey(itemId))data1=myData[itemId][regionId];方式2:使用多部分key。在这种方法中,我将创建一个结构来表示部件,并使用一