Tag: 字典

在C#中:如何声明一个类型为key的通用Dictionary和该类型的IEnumerable 作为值?

我想声明一个字典,用于存储特定类型的类型IEnumerable ,并将其确切类型作为键,如下所示:(编辑后跟随johny g的评论) private IDictionary<Type, IEnumerable> _dataOfType where T: BaseClass; //does not compile! 我想要存储的具体类都是从BaseClass派生的,因此想把它当作约束。 编译器抱怨它希望在成员名称后面加一个分号。 如果它可以工作,我希望这将使后来从字典中检索简单如下: IEnumerable concreteData; _sitesOfType.TryGetValue(typeof(ConcreteType), out concreteData); 如何定义这样的字典?

C#linq in Dictionary

我有一个对象allStudents = Dictionary<ClassRoom, List>() 在Linq,我如何获得所有男性学生的名单? (student.Gender ==“m”)来自所有课堂? 伊恩

在C#中将分隔的字符串转换为字典

我有一个格式为“key1 = value1; key2 = value2; key3 = value3;”的字符串 我需要将它转换为上述键值对的字典。 最好的方法是什么? 谢谢。

如何将重复键添加到词典中

我有一些文本文件的行,我想添加到Dictionary.I我第一次使用字典。虽然添加起始行它是好的但突然我得到错误: 已添加具有相同键的项目 在我的代码中有重复的密钥,我无法更改。这是我在c#中的代码 Dictionary previousLines = new Dictionary { }; previousLines.Add(dialedno, line); dialedno是键,行是文本文件行。 这是我根据键检索给定行的代码。 string tansferOrginExt = previousLines[dialedno]; 所以我关心的是如果可能允许在Dictionary中添加重复键,如果不能,我怎么能获得类似的function。

如何将字典中的所有值从一个键添加到下一个键?

我有一个字典,其中DateTime.Now.Date转换为字符串作为键,一个整数作为值。 我需要以某种方式将所有整数从一个输入的密钥加到下一个密钥。 它还应包括开始和结束整数的值。 我怎么能这样做? 另外,我怎么能将这个词典保存到计算机中,以便在我打开程序时加载相同的字典并继续添加到它?

获取对ArrayList对象的访问权限

我正在开发一个应用程序来读取一些JSON数据并进行一些统计,但现在我遇到了一个问题。 我有一个像这样的字符串: { “position”:[ { “someKey1″:”someVal1”, “someKey2″:”someVal2”, }, { “someKey1″:”someVal3”, “someKey2″:”someVal4”, } } 我想访问someKeys和someValues。 我正在将它转换为这样的字典: Dictionary values = deserializeJSON(json_string); 编辑1:对不起,忘了添加deserializeJSON: private Dictionary deserializeJSON(string p_jsonObject) { JavaScriptSerializer serializer = new JavaScriptSerializer(); return serializer.Deserialize<Dictionary>(p_jsonObject); } 现在我无法使用键“position”访问值列表。 如果我尝试打印值[“位置”]的类型,我得到: System.Collections.ArrayList 所以我想我可以迭代这个,但我不能。 我尝试使用枚举器(在这里读取它可以迭代对象,并且我必须将它添加到ArrayList来强制转换): ArrayList arr = new ArrayList(); IEnumerable enumerable = values[“position”] as IEnumerable; foreach (object element in enumerable) { […]

使用c#中的字典计算字符串中每个重复单词的出现次数

编辑:我详细阐述了我的问题更多..解决方案在这里是一个修复重复的单词..我被问到每个重复的单词 我是新手……可能不是一个好问题。 …… 这是字符串 string str = “this this is is aa string” 在采访中,我被要求将每个重复关键字的计数存储在通用字典中,然后按顺序显示它们 例如,“is”关键字的出现次数为2 类似的链接 : 在字符串C#中找到最多出现的字符? 这是关于寻找角色 查找文本中单词出现的列表单词,这是在python中 在javaScript中删除字符串中重复单词的出现 如何使用string.match方法查找字符串中同一个单词的多个匹配项? 不相关 ..请建议

值“变量”的字典

我希望创建一个这样的字典: Dictionary dict = new Dictionary 在这个线程中如何在C#中动态命名变量? 下面的代码示例被投票并被接受作为问题的答案: var vartable = new Dictionary(); vartable[strLine] = new Variable(input); 但是,当我尝试做同样的事情时,我收到此错误消息: The type or namespace name ‘Variable’ could not be found (are you missing a using directive or an assembly reference?) 我一直无法找到修复此问题的命名空间。 任何建议表示赞赏。 问候。

优化双foreach循环

我有一个双foreach循环,并希望通过使它成为一个循环而不是两个来加速它。 这个想法是它从字典中获取一个元素并将其与字典中的所有元素进行比较 foreach (KeyValuePair kvp in originCounts) { foreach (KeyValuePair testkvp in originCounts) { //Run Comparison on testkvp ad kvp } } 我想把它变成一个循环,任何建议?

改变字符串颜色

好的,所以这是我上一期的问题,但我有代码: private void btnTrans_Click(object sender, EventArgs e) { var abrvStr = inputBx.Text; foreach (var kvp in d) { abrvStr = abrvStr.Replace(kvp.Key, kvp.Value); } outputBx.Text = abrvStr; } 基本上它是字典程序的一部分,因此当您在文本框1中输入一行文本时,它会出现在文本框2中,并且单词替换为文本框中的文本框1。 所以,如果黑色,白色在字典中,我进入墙壁是黑色的。 墙是白色的将出现在文本框2中。所以一切都很好。 现在是棘手的部分,我将如何改变它以允许我在文本框2中将更改的单词更改为红色。 所以在上面的例子中,墙是白色的 。 白色在文本的输出行中是红色的。 注意,我使用的是RichTextBoxes C#语言!