有一个 Dictionary<string, Image> dicImage 对象
可以通过 dicImage["背景"] 得到图片信息。
但是还想通过 dicImage[0] 得到图片信息。既可以通过string 又可以通过索引 int 取值。
怎么去实现啊
------解决思路----------------------
dic1.ElementAt(0)
------解决思路----------------------
用一个新类,包含Dictionary<string, Image>和List<string>
Add的时候把key放入Dict和List
去的时候如果是索引器方式的,先从list取到Key,然后根据key取value
这是我第一个想到的法子,未必是最好的,等楼下更好建议
------解决思路----------------------
字典是不排序的,所以不可能根据索引获取
如果你想要根据索引,还不如就不用字典,而是改用
List<KeyValuePair<string,Image>>
------解决思路----------------------
ElementAt是对IEnumerable的扩展,使通过遍历实现的。
而Dicionary的遍历循序是没有定义的。
而且,ElementAt(30)要数30个后,才能拿下一个。而array的索引,是按照地址直接访问的,并不需要空数前面30个。