Tag: 字典

在C#中将数组添加到字典

我曾尝试阅读有关此主题的其他post,但无法弄清楚这一点。 我在C#中有一个列表,我想把它放在一个包含所有相同键的字典中。 清单就是这个 string[] IN ={“Against”,”Like”,”Upon”,”Through”,”Of”,”With”,”Upon”,”On”,”Into”,”From”,”by”,”that”,”In”,”About”,”For” ,”Along”,”Before”,”Beneath”,”At”,”Across”,”beside”,”After”,”Though”,”Among”,”Toward”,”If”}; 我想创建并填充一个字典,其中键为“IN”(数组的名称),然后在字典中为数组提供每个字符串。 这是我写的创建字典(我不确定是否正确): Dictionary<string, List> wordDictionary = new Dictionary<string, List> () 但我不知道如何填写字典。 任何帮助将不胜感激,因为这是我第一次尝试使用字典而且我是C#的新手

C#Linq或Lambda从类中获取Dictionary <string,List >

我似乎找不到我要找的答案。 希望这里有人可以提供帮助。 我有一个包含某些进程的设置信息的类。 每个类都有一个processId,taskId和我当前逻辑不需要的各种其他信息。 public class ProcessSetting { public int ProcessId { get; set; } public int TaskId { get; set; } // Other properties not needed } 可以存在多个ProcessSettings。 我将数据拉入List。 可以将processId与多个TaskId相关联。 例如: ProcessId: 1, TaskId: 1 ProcessId: 1, TaskId: 1 ProcessId: 1, TaskId: 2 ProcessId: 1, TaskId: 3 ProcessId: 2, TaskId: 3 ProcessId: 2, TaskId: […]

将列入字典

我有一个List ,它有3个属性A,B,C,我需要的是将这个List转换为Dictionary,结果看起来像 Dictionary (Property name) A = Value of A (Property name) B = Value of B (Property name) C = Value of C 请建议……

字典是否可以将数组作为键?

面对字典中的问题。 数组是否可以成为价值的关键??? Dictionary di = new Dictionary(); di.Add(new string[] { “1”,”2″ }, 1); di.Add(new string[] { “2”,”3″ }, 2); MessageBox.Show(di[new string[] { “2”, “3” }].ToString()); // Here KeyNotFoundException occurred. 为什么例外?

将双for循环转换为linq查询

我有一个循环,一旦简化,看起来像这样: Dictionary<Tuple,Decimal> results = new Dictionary<Tuple,Decimal>(); foreach( A a in collectionA ) foreach( B b in collectionB ) results [Tuple.Create(a, (G)b.groupBy)] += (Decimal) Func(a, b); 有没有办法可以使用Linq查询复制此结果(例如,使用GroupBy , Sum和ToDictionary )? (正如在上一个问题的答案中所建议的那样: 对可能未初始化的Dictionary元素执行加上等于操作的简明方法 ) 结果 //Dictionary BcEventGroupLayerLosses 使用下面的Yuxiu Li的答案,我能够从链接的问题转换这4个class轮: BcEventGroupLayerLosses = new Dictionary(); foreach( UWBCEvent evt in this.BcEvents.IncludedEvents ) foreach( Layer lyr in this.ProgramLayers ) BcEventGroupLayerLosses.AddOrUpdate( new […]

在字典中循环

我用这个: foreach(KeyValuePair entry in MyDic) { // do something with entry.Value or entry.Key } 问题是我无法更改entry.Value或entry.Key的值 我的问题是,如何在循环字典时更改值或键? 并且,字典是否允许重复密钥? 如果是,我们如何避免? 谢谢

双语字典/ C#中的地图

在.NET中是否存在一个有效存储键/值对的双向字典,其中键和值都是不同的,因此可以使用双射映射(即TryGetValue / TryGetKey)? 天真的方法是拥有两个内部字典:键值和值键字典,但这在内存方面效率不高。

可通过索引和密钥访问的内置列表

是否可以创建一个可以通过索引或密钥访问的列表? 我正在寻找已经存在但具有此function的Collection类型,我想避免重新定义索引器

最佳查找数据结构,仅存储密钥(无值的字典)

.Net中具有高性能查找的最佳数据结构是什么,如二叉树实现,但只存储密钥(字符串键)? 我们只需要检查集合中是否存在某个键。 喜欢: Dictonary myKeys; myKeys.Add(“key1”, null); myKeys.Add(“key2”, null); // Dozens or hundreds keys Assert.IsTrue(myKeys.Contains(“key1”));

是否有任何实现按键删除并同时获取值?

我正在做一个性能关键的程序(很少的学术内容),我正在寻求尽可能优化(不像它certificate“这是”瓶颈)。 我有一个自定义字典结构(.NET Dictionary的包装器),我会不断删除一个阶段的项目(通过Key值)。 我需要删除项目的Value 。 现在我必须这样做: T t; if !TryGet(key, out t) return false; Remove(key); 这是两次查找。 我会喜欢这个: public bool Remove(S key, out T value) { // implementation } 我知道框架中没有任何内容,但是某处有实现吗? 如果是这样,我会用那个更改我的支持词典。 编辑:嗯,我知道TryGetValue和Remove都是O(1)。 只知道是否有任何集合结构只能在一次查找中产生相同的效果。 正如我所说,我正在努力尽可能地优化。 只是知道。