Создайте метод расширения, который скопирует значения из вашего регистра, чувствительного к регистру, в новый словарь, нечувствительный к регистру.
public static Dictionary<string, T> ToCaseInsensitive<T>(this Dictionary<string, T> caseSensitiveDictionary)
{
var caseInsensitiveDictionary = new Dictionary<string, T>(StringComparer.OrdinalIgnoreCase);
caseSensitiveDictionary.Keys.ToList()
.ForEach(k => caseInsensitiveDictionary[k] = caseSensitiveDictionary[k]);
return caseInsensitiveDictionary;
}
Использование:
var newDictionary = JsonConvert.DeserializeObject<Dictionary<string, string>>(value)
.ToCaseInsensitive();
Хотя это работает для меня (и мне нравится это решение из-за его простоты), обратите внимание на следующие оговорки: