草庐IT

字典序法

全部标签

c# - 如何在 C# 中以相反的顺序(从最后到第一个)迭代字典 <string,string>?

我有一本字典,并在上面添加了一些元素。例如,Dictionaryd=newDictionary();d.Add("Content","Level0");d.Add("gdlh","Level1");d.Add("shows","Level2");d.Add("ytye","Level0");在C#中,Dictionary保持元素的自然顺序。但我现在想从最后到第一个迭代这些值(即倒序)。我的意思是,首先我想阅读ytye,然后显示,gdlh,最后是内容。请指导我摆脱这个问题... 最佳答案 只需使用Linq扩展方法Reverse例如fo

c# - 序列化 .NET 字典

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:SerializeClasscontainingDictionarymember我可以序列化字典吗?

c# 字典获取最小值的键

今天对您来说可能是一个简单的问题,但我目前正在兜圈子。考虑这种情况:vartempDictionary=newDictionary();tempDictionary.Add("user1",5);tempDictionary.Add("user2",3);tempDictionary.Add("user3",5);Console.WriteLine(tempDictionary.Min(x=>x.Key)+"=>"tempDictionary.Min(x=>x.Value);以上返回“用户1=>3”。您将如何返回字典中具有最低值的键?我之后的输出看起来像这样:“user2=>3”有什么

C# 字典初始化程序编译不一致

以下代码可以编译,但会因NullReferenceException而失败:classTest{publicDictionaryDictionary{get;set;}}staticvoidMain(string[]args){varx=newTest{Dictionary=//fails{{"key","value"},{"key2","value2"}}};}如果您将标记为“失败”的行替换为以下内容,它将正常工作(如预期):Dictionary=newDictionary失败的语法是否有任何用途——它能否在其他情况下成功使用?或者这是编译器的疏忽? 最佳

C# 使用 linq 对字典进行排序

我有一个C#字典:publicDictionary我想把我的结果放到一个通用列表中:ListproductList=newList();产品订购者按字典中的int值降序排列。我试过使用orderby方法,但没有成功。 最佳答案 您可以使用:ListproductList=dictionary.OrderByDescending(kp=>kp.Value).Select(kp=>kp.Key).ToList(); 关于C#使用linq对字典进行排序,我们在StackOverflow上找到一

检查字典中的某些内容是否与该词典中的最大值相同?

我如何检查字典中的某些内容与该词典中的最大值相同。换句话说,获取所有最大值,而不是最低位置的最大值。我有此代码返回最大变量名称和值:d={'g_dirt4':g_dirt4,'g_destiny2':g_destiny2,'g_southpark':g_southpark,'g_codww2':g_codww2,'g_bfront2':g_bfront2,'g_reddead2':g_reddead2,'g_fifa18':g_fifa18,'g_motogp17':g_motogp17,'g_elderscrolls':g_elderscrolls,'g_crashbandicoot':g_

c# - 如何在 C# 中将字典初始化为 (key, value, value) 对

我想将值存储为键、值、值对。我的数据类型Key->int&bothvalues->ulong,如何初始化和获取此类字典的值。我正在使用VS-2005。如果我使用类或结构,那么我该如何获取值。 最佳答案 创建一个结构来存储你的值:structValuePair{publiculongValue1;publiculongValue2;}字典初始化:Dictionarydictionary=newDictionary();如果您使用int作为键,也许List就足够了?列表:Listlist=newList();ValuePair可以添加到

c# - 在我的代码中的字典中使用许多字典

我使用了很多包含其他字典集合的字典集合,例如:Dictionary>()Dictionary>>()我正在遍历这些map,并在我的代码中将它们传递给参数。这似乎是个坏主意,因为您现在无法真正扩展这些集合的性质。我应该把这些放在一个类中吗? 最佳答案 您遇到过这样的限制吗?您的程序难以更改/调试吗?如果是这样,重构。否则,获利:你是一个务实的程序员。也就是说,我可以看到立即改进的空间:IDictionary>x;IDictionary>y=newDictionary>(); 关于c#-在我

具有唯一键和值的 C# 字典类型

我想知道C#中是否有类似于“字典”的内置类型,但TKey和TValue都必须是唯一的。例如:d.Add(1,"1");d.Add(2,"1");//ThiswouldnotbeOKbecause"1"hasalreadybeenusedasavalue.我知道这有点奇怪,但似乎BCL中有大约10亿个集合类型,它可能存在。有什么想法吗? 最佳答案 使用Dictionary和HashSet/secondaryreverseDictionary怎么样-它将解决问题,并且比检查单个Dictionary的性能更好。像这样的东西,包装成类:Ha

c# - 使用 AutoFixture 生成字典

对于列表,我们可以做fixture.CreateMany>(1000);//with1000elements但是如何用字典来做呢?并且能够指定要生成的元素数量。 最佳答案 您可以简单地创建项目然后构建字典,如下所示:fixture.CreateMany>(1000).ToDictionary(x=>x.Key,x=>x.Value);这或多或少是AutoFixturedoesinternally的内容.另一种选择是创建一个新的ICustomization,拦截任何Dictionary的请求并build它们。它可以使用existing