当我在Hashtable中有这个结构时,如何从SortedList读取值?
以下是示例
public SortedList sl = new SortedList();
sl[test] = 1;
Hashtable ht= new Hashtable();
ht.Add("root", sl);
我想阅读sl[test]
。
答案 0 :(得分:2)
你只是反过来说:
SortedList sortedList = (SortedList)ht["root"];
object value = sortedList[test];
答案 1 :(得分:2)
就目前而言,您需要将哈希表的结果强制转换回SortedList
,然后才能使用索引器等方法,这需要这种丑陋:
var result = (ht["root"] as SortedList)[test];
但是,如果哈希表的所有元素都是SortedList
s,则可以使用通用容器(例如Dictionary
)来避免转换:
var dic = new Dictionary<string, SortedList> { { "root", sl } };
result = dic["root"][test];
您也可以考虑将SortedList
替换为generic counterpart,例如SortedList<string, int>
(取决于'测试'的类型),出于同样的原因。