是否可以从字典中获取特定元素?例如,我有一个像这样的字典,我想将第三个元素获取为整数,我该怎么做?
public Dictionary<int, char> CodesOfLetters = new Dictionary<int, char>()
{
{260,'Ą'},
{261,'ą'},
{280,'Ę'},
{281,'ę'},
{362,'Ū'},
{363,'ū'},
{268,'Č'},
{352,'Š'},
{381,'Ž'},
{269,'č'},
{353,'š'},
{382,'ž'},
{278,'Ė'},
{279,'ė'},
{302,'Į'},
{303,'į'},
{370,'Ų'},
{371,'ų'}
};
答案 0 :(得分:1)
当然,Dictionary<int,char>
也是IEnumerable<KeyValuePair<int,char>>
,因此您可以使用:
var anElement = CodesOfLetters.ElementAt(2);
(只要文件顶部有using System.Linq
。)
但是请注意,字典的顺序不能保证-如果您关心事物的顺序,则可能不希望以字典开头。
编辑。您评论说,您想要的是280
-您也可以将Keys
视为IEnumerable<int>
,因此可以这样做:
var thirdKey = CodesOfLetters.Keys.ElementAt(2);
,具有与上述相同的警告。不能保证键的顺序。
如果您想跟踪向列表中添加项目的顺序,但又能够按键查找值,则可以创建一个类,该类将List<int>
包裹在有序键列表中,和Dictionary<int,char>
以便能够通过键快速查找值。