Вот код, у меня уже есть, который работает:Поиск значение в словаре типа <строка, строка []>
private string GetRegionByStore(string store)
{
foreach (string items in d.Keys)
{
if (d[items].Contains(store))
{
return items;
}
}
return null;
}
Этот поиск ключа в словаре, как это:
d.Add("4Q", new string[] { "27", "49", "198", "214", "226", "347", "351", "361", "439", "449", "613", "657", "662", "685" });
Есть много записей, таких как 4Q, 4Z, 4J и т. Д., И каждый из них имеет номер string[]
с номерами внутри. В другой записи никогда не будет одинакового числа, поэтому не стоит беспокоиться о дубликатах.
Метод, который я использую сейчас, сейчас работает, но он чувствует себя очень взломанным и, как будто это плохая практика. Есть ли запрос LINQ, который я могу сделать для достижения того же?
Подводя итог: найдите номер в каждом словаре (?), И если он существует, верните ключ.
Я не думаю, что это хак. Я думаю, что этот код очень прост, прост в чтении и понятен. Я не уверен, что запрос LINQ (который, вероятно, существует) будет так же легко читать и понимать, как ваш код здесь. –