2016-02-26 147 views
-1

我在下面存儲在我的web配置中。從哈希表中讀取鍵值對

<add key="* Cancellation" value="Allow"/> 

現在我加載到這個事呢表

NameValueCollection tempCollection = (NameValueCollection)ConfigurationManager.GetSection(CONFIG_SECTION); 
Hashtable localCollection = new Hashtable(); 
localCollection.Add(Collection.GetKey(index), tempCollection); 

我現在想通過提供密鑰來讀取從哈希表中的值。

我的鑰匙可以有任何類似待定,取消,背書或拒絕之前取消,所以我保持*在關鍵。 *表示它可以有任何東西。

value = tempCollection["Pending Cancellation"] 

但我的價值填充不正確。值爲空

+0

請提供[MCVE] –

+0

' 「*取消」= 「等待Cancelleation」',所以毫不奇怪它沒有找到!你期待什麼行爲? – hatchet

+0

有沒有什麼辦法可以給它適當的價值。在cacellation之前,任何事情都可能會像掛起或贊同或拒絕 – user1104946

回答

1

如果你想這樣做,你必須尋找所有的鍵,就像你正在尋找的字符串。一些與此類似:

foreach (DictionaryEntry entry in hashtable) 
    { 
     if(DictionaryEntry.Key.Contains(" Cancellation")){value = DictionaryEntry.Value;} 
    } 
+0

謝謝本這是我正在努力實現。這可能使用散列表或唯一的選擇是切換到字典。 – user1104946

+0

請注意,每次匹配時這將超過寫入值*密鑰中的取消。 – Ben

+0

這對我來說很好,但是通過散列表 – user1104946

相關問題