[英]How to access Dictionary<TKey, TValue>.Item Property in C#
我是C#/ .Net的新手,并且遇到类Dictionary的问题。 我创建了一个组字典并添加了一个项目(或更多项目,现在没关系):
Dictionary<int, ListViewGroup> groups = new Dictionary<int, ListViewGroup>();
groups.Add(1, new ListViewGroup("Group1"));
我想通过它的钥匙找到我的小组。 在文档中,它说有一个Item属性,我可以直接访问或通过索引器访问。 但是,当我尝试直接访问它时:
ListViewGroup g = groups.Item(1);
我的编译器说在Dictionary类中没有属性Item的定义。 有人能解释一下吗? 谢谢。
Item是一个索引器,您可以通过查看定义来验证它:
public TValue this[TKey key] { get; set; }
只需使用索引器语法按键访问元素:
ListViewGroup g = groups[1];
Console.WriteLine (g.Header); //prints Group1
注意:如果groups
字典中不存在具有此类键的条目,则会抛出KeyNotFoundException
。 例如, groups[2]
将在您的情况下抛出异常。
您收到错误,因为在基本级别的字典类中没有名为Item的属性。
Dictionary<int, ListViewGroup> groups = new Dictionary<int, ListViewGroup>();
groups.Add(1, new ListViewGroup("Group1"));
ListViewGroup g = groups.Item(1);
ListViewGroup g = groups[1];
从实际的理解角度来看(我要说的只是基本的理解)字典本质上是一个数组,但不是被迫使用数字,以便你可以使用你喜欢的任何数字甚至字符串。
new Dictionary<int, ListViewGroup>
在你的词典中
1 Group1
groups [1]将检索Group1。
要真正理解字典的酷感,就是使用字符串键时。
new Dictionary<string, ListViewGroup>
所以,如果你这样做
groups.Add("mykey1", new ListViewGroup("Group1"));
groups [“mykey1”]将检索Group1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.