Ответ 1
Это казалось связанным, но я не понял его правильно: С# Словарь: создание ключа без учета регистра с помощью объявлений
Это действительно связано. Решение состоит в том, чтобы указать экземпляру словаря не использовать стандартный метод сравнения строк (который чувствителен к регистру), а скорее использовать регистр, нечувствительный. Это делается с помощью соответствующего конструктора:
var dict = new Dictionary<string, YourClass>(
StringComparer.InvariantCultureIgnoreCase);
Конструктор ожидает IEqualityComparer
, который сообщает словарю, как сравнивать ключи.
StringComparer.InvariantCultureIgnoreCase
дает вам экземпляр IEqualityComparer
, который сравнивает строки без учета регистра.