我需要用一個內部集合對象來定義一個類,以通過一個字符串鍵來保存不同類型的值(比如string,int,float,DateTime和bool)。我可以使用Hashtable,因爲它不是強類型的集合類,而Dictionary則用於強類型的項目(即使我可以使用Dictionary對象)。要使用哪個集合類:散列表或字典?
這是我想我的定義類及其使用情況:
public class MyBaseClass<D> {
protected Hashtable ht = new Hashtable();
MyClass public SetValue<T>(string key, T value)
{
ht.Add(key, value);
return this;
}
public abstract D GetObject();
}
// Example of using the base class for data as class Data1
public MyClass<Data1> : MyBaseClass<Data1> {
public Data1 GetObject() {
return new Data1 {
Property1 = ht["key1"] as string,
Property2 = Int.Parse(ht["key2"].ToString())
}
}
有了上面的例子中,我不知道什麼是持有MyBaseClass我的數據最好的收集?我閱讀了一些關於Hashtable的文章。這是一個過時的集合,與Dictionary集合相比,性能要慢得多。我應該使用.Net 3.5中的Dictionary還是其他任何集合?
Dictionary是一個優化的HashTable。我認爲這回答你的問題:) – 2009-09-16 15:31:11