class XDictionary<TKey, TValue> : Dictionary<string, string>
{
}
Dictionary<string, string> d = new Dictionary<string, string>
{
{ "x", "xx" },
{ "y", "yy" },
{ "z", "zz" }
};
XDictionary<string, string> x;
有没有一种方法可以在没有foreach的情况下将d放入x中,只需使用向上转播/向下转播?
首先,您必须遍历这些项的原因(这不是问题)是因为您想要复制它们。
如果只是引用字典作为新的内部表示,那么就会有多个对象处理相同的数据。
但是,这与您从它继承无关--当您从另一个字典(而不是xDictionary)创建一个新字典时--您会想要同样的东西。
所以您不会反复迭代它,但是“将d放入X”而不是每次都编写新的迭代是很简单的:
class XDictionary<TKey, TValue> : Dictionary<TKey, TValue>
{
public XDictionary() { }
public XDictionary(Dictionary<TKey, TValue> dict)
{
foreach (var pair in dict)
{
base.Add(pair.Key, pair.Value);
}
}
}
Dictionary<string, string> d = new Dictionary<string, string>
{
{ "x", "xx" },
{ "y", "yy" },
{ "z", "zz" }
};
XDictionary<string, string> xDict = new XDictionary<string, string>(d);
还要注意,当您为类声明泛型类型参数时,您必须将它们转发到基类,这样才能使它有意义。
我确实不同意你问题下面的一些评论。
有一条准则说更喜欢组合而不是继承
,这确实有它的原因。然而,盲目地遵循这一指导方针并不是重点,因为对于作文:
因此,如果您的意图不是将字典更改为其他内容,而是扩展它的功能,那么从它继承是绝对可以的。
你可以问自己这个问题以求清楚:
我的实现应该是某种字典(继承),还是使用字典(组合)。
本文向大家介绍C#如何遍历Dictionary,包括了C#如何遍历Dictionary的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C#如何遍历Dictionary的具体代码,供大家参考,具体内容如下 效果图: 以上就是本文的全部内容,教会大家C#遍历Dictionary的方法,谢谢大家的阅读。
Dictionary 类是用来处理字典的类。 字典,或者称为关联数组,是指保存着若干个名字和其唯一对应的值组成的“pair”的对象。 字典和数组一样使用 [ ] (间接成员选择) 运算符来操作,不同的是把下标索引换成字符串,也就是名字(键)。名字可以作为标识符,用 . (直接成员选择) 运算符来对字典中的元素进行操作。 还有,选择了不存在的元素的话,会返回 void 。 使用 delet
本文向大家介绍C#中Dictionary类使用实例,包括了C#中Dictionary类使用实例的使用技巧和注意事项,需要的朋友参考一下 在C#中,使用Dictionary类来管理由键值对组成的集合,这类集合称为字典。 字典最大的特点就是能够根据键来快速查找集合中的值。 下面是一个使用字典的小实例,希望通过这个小实例,能让大家对字典操作有一个初步的了解。下面是完整代码。 实例中需要定义两个类: Sc
每个键都通过冒号(:)与其值分隔,项目用逗号分隔,整个内容用大括号括起来。 没有任何项目的空字典只用两个花括号写成,如下所示:{}。 键在字典中是唯一的,而值可能不是。 字典的值可以是任何类型,但键必须是不可变的数据类型,如字符串,数字或元组。 访问字典中的值 要访问字典元素,可以使用熟悉的方括号和键来获取其值。 以下是一个简单的例子 - #!/usr/bin/python dict = {'Na
在Dictionary中,每个键都通过冒号(:)与其值分隔,项目用逗号分隔,整个内容用大括号括起来。 没有任何项目的空字典只用两个花括号写成,如下所示:{}。 键在字典中是唯一的,而值可能不是。 字典的值可以是任何类型,但键必须是不可变的数据类型,如字符串,数字或元组。 访问字典中的值 要访问字典元素,可以使用熟悉的方括号和键来获取其值。 以下是一个简单的例子 - #!/usr/bin/pytho
Dictionary是一个抽象类,表示键/值存储库,其操作与Map非常相似。 给定键和值,您可以将值存储在Dictionary对象中。 存储该值后,您可以使用其密钥检索它。 因此,像地图一样,字典可以被认为是键/值对的列表。 字典定义的抽象方法如下 - Sr.No. 方法和描述 1 Enumeration elements( ) 返回字典中包含的值的枚举。 2 Object get(Object
本文向大家介绍如何将python中的List转化成dictionary,包括了如何将python中的List转化成dictionary的使用技巧和注意事项,需要的朋友参考一下 问题1:如何将一个list转化成一个dictionary? 问题描述:比如在python中我有一个如下的list,其中奇数位置对应字典的key,偶数位置为相应的value 解决方案: 1.利用zip函数实现 2.利用循环来实
主要内容:尝试一下 - 实例,Dictionary 对象Dictionary 对象用于在名称/值对中存储信息。 尝试一下 - 实例 指定的键存在吗? 本例演示如何创建一个 Dictionary 对象,然后使用 Exists 方法来检查指定的键是否存在。 返回一个所有项目的数组 本例演示如何使用 Items 方法来返回一个所有项目的数组。 返回一个所有键的数组 本例演示如何使用 Keys 方法来返回一个所有键的数组。 返回一个项目的值 本例演示如何使用