У меня есть следующие данные, которые я хочу определить элегантным способом и быстрым доступом.Как определить и получить доступ к вложенным данным словаря в нескольких пространствах имен C#
Dictionary<string, string> myDictionary = new Dictionary<string, string>
{
{"a", "1"},
{"b" "2"}
};
Теперь «1» и «2» определены в 2 разных модулях x и y. Я думаю о вложенном словаре здесь. Я ищу элегантный способ определить.
Мое мышление:
//FileA - Namespace1
Dictionary<string, string> dcA = new Dictionary<string, string>
{
{"LOC1", "ADDR1"},
{"LOC2", "ADDR2"}
};
//FileB - NameSpace1
Dictionary<string, string> dcB = new Dictionary<string, string>
{
{"LOC3", "ADD3"},
{"LOC4", "ADD4"}
};
//FileX - NameSpace 2
static Dictionary<string, string> dc1 = new Dictionary<string, Dictionary<string, string>>
{
{"LOC1", dcA.GetValue("LOC1"},
{"LOC2", dcA.GetValue("LOC2"},
{"LOC3", dcA.GetValue("LOC3"},
{"LOC4", dcA.GetValue("LOC4"},
};
string myString;
string key = "LOC1";
if (!dc1.TryGetValue(key, out myString))
{
throw new InvalidDataException("Can't find the your Addr for this LOC");
}
Console.WriteLine("myString : {0}", myString)
//Expected output as
myString : ADDR1
Да я хочу, чтобы объединить 2 словаря в новый словарь. Проблема в том, что я могу получить доступ к значению нового словаря, такого как dcA.GetValue («LOC1»). Попытка выяснить, есть ли лучшее решение или структура данных, о которых я вообще не думаю.
Я не совсем уверен, что вы здесь просите. – kskyriacou
Итак, вы хотите совместить словарь A & B от Namespace1 в новом словаре в Namespace2? – Camo
Да, я хочу объединить 2 словаря, которые будут объединены в новый словарь. Проблема в том, что я могу получить доступ к значению нового словаря, такого как dcA.GetValue («LOC1»). Попытка выяснить, есть ли лучшее решение или структура данных, о которых я вообще не думаю. – anotheruser