从Hashtable中读取SortedList
本文关键字:SortedList 读取 Hashtable | 更新日期: 2023-09-27 18:04:48
当我在Hashtable中有这个结构时,我如何从SortedList中读取值?
下面是示例
public SortedList sl = new SortedList();
sl[test] = 1;
Hashtable ht= new Hashtable();
ht.Add("root", sl);
我要读sl[test]
你只需反向操作:
SortedList sortedList = (SortedList)ht["root"];
object value = sortedList[test];
现在,您需要将哈希表的结果强制转换回SortedList
,然后才能在其上使用索引器等方法,这需要这种丑陋:
var result = (ht["root"] as SortedList)[test];
但是,如果哈希表的所有元素都是SortedList
,则可以使用通用容器(如Dictionary
)来代替,以避免强制转换:
var dic = new Dictionary<string, SortedList> { { "root", sl } };
result = dic["root"][test];
出于同样的原因,您也可以考虑将SortedList
替换为其通用对应物,例如SortedList<string, int>
(取决于'测试'的类型)。