Tag: 词典

自动映射 – 字典到对象映射不起作用?

我正在尝试将字典转换为对象。 我尝试了以下但它不起作用: public class FormField { public string FieldName { get; set;} public string FieldValue { get; set;} } var formData = new List { new FormField {FieldName = “date”, FieldValue = “2017-09-14”}, new FormField {FieldName = “name”, FieldValue = “Job blogs”}, new FormField {FieldName = “isenabled”, FieldValue = “true”} }; public class MyViewModel { […]

如何在字典中插入第一个元素?

我有一个字典结构,里面有多个键值对。 myDict.Add(key1, value1); myDict.Add(key2, value2); myDict.Add(key3, value3); 我的字典用作某些控件的数据源。 在控件的下拉列表中,我看到的项目是这样的: key1 key2 key3 订单看起来与我的字典相同。 我知道Dictionary不像arrayList – 你可以得到索引左右。 我不能使用sortedDictionary。 现在我需要在我的程序的某个点为这个字典添加一个键值对,我希望它与我这样做有同样的效果: myDict.Add(newKey, newValue); myDict.Add(key1, value1); myDict.Add(key2, value2); myDict.Add(key3, value3); 如果我这样做,我知道newKey将在我的控制中显示为第一个元素。 我有一个想法是创建一个tempDict,将myDict中的每一对放入tempDict,然后清除myDict,然后像这样添加对: myDict.Add(newKey, newValue); myDict.Add(key1, value1); myDict.Add(key2, value2); myDict.Add(key3, value3); 还有比这更好的方法吗? 谢谢!

WPF VS2013:查找资源字典时发生错误

球队, 我在Visual Studio 2013中有一个简单的wpf项目。结构如下所示。 错误所说的全部内容如标题“查找资源字典时发生错误”所示。 我已经从网上尝试了很多建议并且没有耐心。 每件事似乎都没问题。 任何有经验的人都可以提出一些建议。 提前致谢。

如何使用该值从字典中删除条目

我有一个词典集合作为bleow: mydic.addvalue(key1, val1) mydic.addvalue(key2, val1) mydic.addvalue(key3, val1) mydic.addvalue(key4, val2) mydic.addvalue(key5, val2) 从上面的字典我想删除value ==“val1”的所有条目,以便结果只有以下条目: mydic.addvalue(key4, val2) mydic.addvalue(key5, val2) 我的VB源代码在VS2008上,目标是3.5

Dictionary.ContainsKey返回False,但想要True

namespace Dic { public class Key { string name; public Key(string n) { name = n; } } class Program { static string Test() { Key a = new Key(“A”); Key b = new Key(“A”); System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add(a, 1); return d.ContainsKey(b).ToString(); } static void Main(string[] args) { System.Console.WriteLine(Test()); } } } 我应该改变什么才能成真?

我是否需要在引用类型上覆盖GetHashCode()?

我在StackOverflow上阅读了关于GetHashCode大多数问题。 但我仍然不确定是否必须在引用类型上覆盖GetHashCode 。 我从另一个问题的某些人那里得到了以下答案: Object.GetHashCode()使用System.Object类中的内部字段来生成哈希值。 创建时,为每个创建的对象分配一个唯一的对象键,存储为整数。 这些键从1开始,每次创建任何类型的新对象时都会递增。 如果在.NET Framework 3.5中仍然如此(有人可以确认吗?),那么我在参考类型的默认实现中看到的唯一问题是哈希代码的分布很差。 我会打破我的问题: a)所以它建议覆盖GetHashCode ,如果它在Dictionary或者默认实现是否正常? b)我有很容易做的引用类型,因为它们有唯一标识它们的字段但是那些所有成员也是引用类型的引用类型。 我该怎么办?

.NET中的嵌套字典集合

.NET Dictionary对象允许分配键/值,如下所示: Dictionary dict = new Dictionary(); dict[“1”] = “foo”; dict[“2”] = “bar”; 但我不能像这样使用字典: Dictionary dict = new Dictionary(); dict[“F1”][“F2”][“F3”] = “foo”; dict[“2”][“X”] = “bar”; .NET中有一个集合允许我嵌套[] ,还是我必须创建自己的集合? 如果我必须创建自己的,我该怎么做? 编辑: 如果我可以实现期望唯一键的实现也是有用的,如下所示: dict[“F1”][“F2”][“F3”] = “foo”; dict[“F1”][“F2”][“F3”] = “bar”; //result is “bar” because “foo” was overridden 以及可以多次使用密钥的实现 dict[“F1”][“F2”][“F3”] = “foo”; dict[“F1”][“F2”][“F3”] = “bar”; //result can be “foo” and […]

如何在字典中的第一个索引中插入元素?

是否有方法或技术允许您将元素插入到Dictionary ,以保证该项位于该字典的KeyCollection的第一个索引中。 例如: Dictionary dic = foo.GetOutput(); // `dic` is something like: // {“foo”, “baa”}, // {“a”, “b”} 我需要这样的东西: dic.Add(“key”, “value”, 0); // where `0` is the index that `key` to be inserted. foreach(KeyValuePair key in dic) { Console.WriteLine(“{0} = {1}”, key.Key, key.Value); } 输出: key = value foo = baa a = b 很感谢任何forms的帮助。 […]

直接从字典获取KeyValuePair

我有System.Collections.Generic.Dictionary dict ,其中A和B是类,实例A a (其中dict.ContainsKey(a)为真)。 是否有可能直接从Dictionary中获取KeyValuePair? 或者我是否需要创建一个新的KeyValuePair: new KeyValuePair(a, dict[a]) ?

找到两个词典之间的差异

是否有LINQ方法来查找两个通用字典之间的区别? 与此问题相同,但使用通用词典。