2016-02-26 148 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

相关问题