Mam sytuację w kodzie, gdzie Dictionary<string, string>
wydawało mi się najlepszym pomysłem - potrzebuję kolekcji tych obiektów i potrzebuję ich, aby były dostępne za pomocą unikalnego klucza. Dokładnie do czego służy koncepcja Dictionary, prawda?Słownik C# z dwiema wartościami na klucz?
Cóż, wymagania rozszerzyły się do tego stopnia, że potrzebuję teraz posiadać dodatkową ilość informacji na każdy klucz (wartość boolowska, jeśli jesteś ciekawy).
Więc, myślę, rozwinąć koncepcję, aby utworzyć nową strukturę danych z ciągiem znaków i boolean i mieć teraz Dictionary<string, NewCustomObject>
.
Jednak dla jednej dodatkowej wartości, takiej jak flaga boolean, po prostu wydaje się przesadą. A jednak nie znam żadnego podobnego do słownika obiektu generycznego z dwiema wartościami na klucz.
Czy po prostu słownika obiektów niestandardowych jest najlepszym sposobem, aby przejść o tym, czy jest coś prostszego w tym scenariuszu?
Twój pierwszy pomysł na słownik wcale nie jest przesadą. Wyraża dokładną intencję, jest mocno napisany, z obsługą intellisense, z łatwością dostosuje się do następnej zmiany wymagań. –
@Oren Trutner: Nie mogę się zgodzić. @Schnapple: nie przejmuj się parą, używaj niestandardowego obiektu o dobrze zdefiniowanych nazwach. Unikaj na przykład nazw wartości "Wartość1" i "Wartość2". Nadaj im znaczenie semantyczne. – Randolpho
Nie ma nic, co podchodziłoby do "przesady" podczas tworzenia nowych zajęć w języku OO. Cóż, zwykle nie ma, aw tym przypadku nie ma. –