Przez jakiś czas szukałem google i odkryłem, że najlepszym sposobem, który pozwala mieć listę zawierającą zmienne z odpowiednim kluczem unikalnym, jest HashTable
lub Dictionary
, ale nie znalazłem niczego, co umożliwiłoby automatyczne klucze (typu integer). Chcę wywołać funkcję, która dodaje obiekt (przekazywany jako parametr) do słownika i zwraca automatycznie wygenerowany klucz (int) i bez żadnych duplikatów kluczy. Jak mogłem to osiągnąć? Całkowicie walczę!Automatyczny klucz słownika?
EDYCJA: Aby wyjaśnić pewne kwestie. To jest serwer i chcę przypisać unikalny klucz dla każdego klienta. Jeśli użyję maksymalnej wartości klucza, ta wartość wkrótce osiągnie maksymalną wartość int na dużych serwerach. Ponieważ jeśli klient łączy się, a następnie rozłącza, pozostawia niewykorzystaną wartość, która powinna zostać ponownie wykorzystana, aby uniknąć osiągnięcia bardzo wysokiej maksymalnej wartości klucza.
Wystarczy napisać klasę, która otacza słownik za pomocą metody, którą opisałeś - zakładam, że wiesz, jak zamierzasz wygenerować swój klucz z obiektu? –
Klucz nie zostanie wygenerowany z obiektu, klucz będzie używany do powiązania obiektów ze sobą. Próbowałem zapętlić każdy klucz i sprawdzić, czy ten klucz jest równy 0 i jeśli klucz 0 nie istnieje, utworzyłbym nowy obiekt z tym kluczem, jeśli istnieje, powtarzałbym za 1,2,3,4. ale wiedziałem, że to spowoduje wielkie problemy z wydajnością. – None
W jaki sposób generowany jest nowy klucz? Jeśli jest to po prostu automatycznie zwiększane, możesz po prostu zawinąć 'List'. –
Lee