Mam aplikację korzystającą z zarządzanych bibliotek DLL. Jedna z tych bibliotek dll zwraca ogólny słownik:
Dictionary<string, int> MyDictionary;
Słownik zawiera klawisze z dużymi i małymi literami.
Z drugiej strony otrzymuję listę potencjalnych kluczy (ciągów), ale nie mogę zagwarantować sprawy. Próbuję uzyskać wartość w słowniku za pomocą klawiszy. Ale oczywiście nie powiedzie się, ponieważ mam niedopasowanie wielkości liter:
bool Success = MyDictionary.TryGetValue( MyIndex, out TheValue );
Miałem nadzieję, że TryGetValue będzie miał flagę ignorowania przypadków, jak wspomniano w dokumencie MSDN , ale wydaje się, że nie jest to poprawne w przypadku ogólnych słowników.
Czy istnieje sposób, aby uzyskać wartość tego słownika ignorując kluczową wielkość liter? Czy istnieje lepsze obejście niż tworzenie nowej kopii słownika z odpowiednim parametrem StringComparer.OrdinalIgnoreCase ?