使Dictionary泛型查詢簡單化

2021-09-05 21:35:03 字數 1243 閱讀 1536

我們經常使用dictionary來做些操作,查詢乙個object,沒有找到就add它。**像如樣:

1:  

private

static dictionary employees;

2:  …
3:  

public

static employee getbyname(string name)

9:  

return employee;

10:  }

現在我們寫個擴充套件方法:

///
/// gets the or add.
/// 

/// the type of the key.

/// the type of the dictionary value.

/// the type of the actual value.

/// the dictionary.

/// the key.

/// the new value.

/// tactualvalue

public

static tactualvalue getoradd(this idictionarydictionary,

tkey key, funcnewvalue) where tactualvalue : tdictionaryvalue
return (tactualvalue)value;
}

乙個helpmethod:

1:  

public

static employee getbyname(string name)

2:          );
4:          }

最後看test,簡化了:

1:          [test]
2:  

public

void testdic()

3:

employee這個class用於演示,您可以隨意建立,或是其他object。希望這篇post對你有幫助.

author: petter liu   

C 泛型 泛型集合Dictionary

在system.collections.generic命名空間中,與arraylist相對應的泛型集合是list,與hashtable相對應的泛型集合是dictionary,其儲存資料的方式與雜湊表相似,通過鍵 值來儲存元素,並具有泛型的全部特徵,編譯時檢查型別約束,讀取時無須型別轉換。本儲存的例子...

c 泛型集合Dictionary

泛型最常見的用途是泛型集合,命名空間system.collections.generic 中包含了一些基於泛型的集合類,使用泛型集合類可以提供更高的型別安全性,還有更高的效能,避免了非泛型集合的重複的裝箱和拆箱。很多非泛型集合類都有對應的泛型集合類,我覺得最好還是養成用泛型集合類的好習慣,他不但效能...

C 泛型Dictionary集合

1 要使用dictionary集合,需要匯入c 泛型命名空間 system.collections.generic 程式集 mscorlib 2 描述 1 從一組鍵 key 到一組值 value 的對映,每乙個新增項都是由乙個值及其相關連的鍵組成 2 任何鍵都必須是唯一的 3 鍵不能為空引用null...