Unikalne rozszerzenie pliku (6 liter i cyfr) za pomoca klasy Random() ??

0

Mam funkcję która generuje mi losowy string składajacy się z cyfr i liter .
Inna funkcja wypełnia dla sprawdzenia HashSet . Przed każdym wywołaniem funkcji usypiam wątek na 10 ms i generuje 100000 unikalnych rozszerzeń i jest wszystko ok. Jeśli wątku nie usypiam to juz przy 10 , 20 generowaniu mam bład powtórzenia . Czy wykorzystanie klasy Random z uśpieniem watku na 10 ms daje pewność ze 6 cyfrowy string zawsze będzie unikalny ??

0

Czy potrzeba ci koniecznie 6 liter i cyfr? Jeśli nie, to po co random, nie lepiej użyć klasy guid do generowania unikalnych identyfikatorów?

0

Tak , rozszerzenie musi składać się z 6 znaków (cyfr i liter)

0

Nie wiem, czy to pomoże, ale z moich własnych doświadczeń wynika, że obiekt klasy Random należy stworzyć jeden raz na całą aplikację.

0
TenMateusz953 napisał(a)

Czy wykorzystanie klasy Random z uśpieniem watku na 10 ms daje pewność ze 6 cyfrowy string zawsze będzie unikalny ??

Usypiasz wątek, żeby wygenerować liczbę? A gwoździe wbijasz okiem?

Random się tworzy jako statyczne pole w klasie, a potem wywołuje tylko metodę Next*.

0

myślałem że jest to oczywiste

0

tzn. u mnie pole nie jest statyczne ale czy ma to jakiś wpływ na unikalność stringów ? Poza tym tworze tylko jeden obiekt danej klasy .

0

Statyczne po to, by losowane liczby nie powtarzały się wśród wiele obiektów tego samego typu, jeśli wiele ich utworzy się w tym samym czasie.
Nie trzeba żadnego usypiania wątków, pokaż kod.

1 użytkowników online, w tym zalogowanych: 0, gości: 1