2014-12-30 3 views
0

Я хочу вернуть словарь в dictionary.I есть следующий код, который строит словарь в следующем формате:Возвращает словарь в словаре C#

Dictionary<string, Dictionary<string, string>> 

Dictionary<string,string> Extdictionary = new Dictionary<string,string>(); 

Extdictionary.Add("Source", myMessage.Src); 
Extdictionary.Add("TimeStamp", myMessage.TimeStamp); 
Dictionary<string, Dictionary<string, string>> queExtractedDictionary = 
    new Dictionary<string, Dictionary<string, string>>(); 

queExtractedDictionary.Add("Ext", Extdictionary); 

и заполнит значения как

"Ext" "Key1" "Value1" 
"Ext" "Key2" "Value2" 

"Ext1" "Key1" "Value1" 
"Ext1" "Key2" "Value2" 

Я хочу получить доступ к Клавишу2 (из «Ext») и измените значение, а затем вернуть словарь как

"Key1" "Value1" 
"Key2" "New Value" 

Я не уверен, как обращаться с этим кодом.

ответ

1

Просто сделай это:

queExtractedDictionary["Ext"]["Key2"] = "new value"; 

Ломая это вниз, queExtractedDictionary["Ext"] получает Dictionary, что является значением ключа «Ext». Затем вы снова получите ключ «Key2» возвращенного Dictionary. Конечно, вы должны проверить, существует ли ключ и обрабатывать исключения соответственно.

Demo

+0

Thanks.however Прежде всего я хотел бы вернуть словарь ключом1 и значению1, а затем изменить причину value.the является то, что у меня есть отдельная функция, которая заменяет значение в выпо . однако я не могу извлечь dic из dic >. – JaiK

+0

'queExtractedDictionary [" Ext "]' является 'dic '. Вы можете просто передать его своей функции и рассматривать ее как обычный «Словарь». Что-то мне здесь не хватает? –

+0

Все хорошо. Я неправильно понял ваш предыдущий комментарий. – JaiK

Смежные вопросы