Czy klasa mapy w Dart ma sposób zignorowania przypadku, jeśli klucz jest ciągiem?Mapa darta z kluczem String, porównaj z przypadkiem ignorowania
Np.
var map = new Map<String, int>(/*MyComparerThatIgnoresCase*/);
map["MyKey"] = 42;
var shouldBe42 = map["mykey"];
W języku C# konstruktor słownika przyjmuje porównywarkę, jak powyższy komentarz. Jaki jest kanoniczny sposób na zrobienie tego w Dart?
Jeśli zrobisz nową Mapę(), faktycznie otrzymasz LinkedHashMap. Można to zobaczyć w fabrycznym kontrruktorze Map (fabrycznie Map() = LinkedHashMap ;) –
Istnieje funkcja w kołczanie, która ma wartość równą ignorowaniu przypadku. Obecna implementacja czyni je małymi literami, ale lepiej użyć tego niż dostarczać własne. Kod staje się następujący: Pakiet 'import ': quiver/strings.dart';' 'new LinkedHashMap> (jest równy: equalsIgnoreCase, hashCode: (String k) => k.toLowerCase(). HashCode) ; ' –