c random number c random string generator with code examples
Dowiedz się, jak generować losową liczbę w języku C #, losowy alfabet i losowy ciąg zawierający znaki specjalne w tym samouczku informacyjnym języka C # z przykładami kodu:
Są scenariusze, w których jesteśmy zobowiązani do generowania liczb losowych, alfabetów, znaków itp. Aby to osiągnąć, mamy dostępną klasę Random w przestrzeni nazw System.
Klasa losowa umożliwia losowe generowanie wartości całkowitej. Korzystając z tej losowej klasy można wygenerować inny zestaw liczb / znaków. Omówimy to dalej w tym samouczku.
=> Obejrzyj całą serię szkoleń C # tutaj
Czego się nauczysz:
- Jak wygenerować losową liczbę całkowitą w C #?
- Jak generować losowe alfabety?
- Generuj losowy ciąg alfanumeryczny ze znakami specjalnymi
- Wniosek
Jak wygenerować losową liczbę całkowitą w C #?
Klasa losowa oferuje trzy metody przeciążania do generowania liczb całkowitych na podstawie parametru dostarczonego przez użytkownika. Przyjrzyjmy się wszystkim trzem metodom.
Korzystanie z C # Random.Next ()
Dalej zawiera trzy przeciążenia:
Next () bez argumentu
Pierwsze przeciążenie dla Random.Next () nie wymaga żadnego argumentu. Zwraca nieujemną wartość całkowitą.
Przykład:
class Program { public static void Main(string() args) { Random ran = new Random(); int a = ran.Next(); Console.WriteLine('The random number generated is: {0}', a); Console.ReadLine(); } }
Wynik powyższego programu będzie dowolną nieujemną wartością losową:
Wynik
Wygenerowana liczba losowa to: 157909285
Next () Z jednym argumentem
Następne przeciążenie dla Random.Next () przyjmuje jeden argument. Podany argument określa maksymalną wartość, która może zostać wygenerowana przez metodę. Maksymalna wartość powinna być większa lub równa zero. Zwraca nieujemną liczbę całkowitą z maksymalną wartością jako argumentem dostarczonym przez użytkownika.
Przykład:
class Program { public static void Main(string() args) { Random ran = new Random(); int a = ran.Next(1000); Console.WriteLine('The random number generated by Random.Next(argument) is: {0}', a); Console.ReadLine(); } }
Wynik powyższego programu wygeneruje liczbę całkowitą większą od zera i mniejszą od wprowadzonej wartości maksymalnej, tj. 1000.
Wynik
Losowa liczba wygenerowana przez Random.Next (argument) to: 574
nowy prywatny serwer World of Warcraft
Next () Z dwoma argumentami
Klasa losowa służy do symulacji zdarzenia losowego. Aby wygenerować losowy znak, używamy Next (). Next () przyjmuje dwa argumenty, pierwszy z nich jest minimalną i włączającą wartością dozwoloną dla generatora losowego.
Drugi argument akceptuje maksymalną wartość wyłączności. Maksymalna wartość wyłączna oznacza, że wartość przekazana w drugim argumencie nigdy nie zostanie wygenerowana. Wygenerowana wartość zawsze będzie mniejsza niż wartość maksymalna.
Rzućmy okiem na prosty program:
class Program { public static void Main(string() args) { Random ran = new Random(); int a = ran.Next(10, 1000); Console.WriteLine('The random number generated by Random.Next(minVal, maxVal) is: {0}', a); Console.ReadLine(); } }
Wynik powyższego programu da wartość między podanym zakresem, tj. Między 10 a 1000, gdzie minimalna wartość, tj. 10, jest włącznie.
Wynik
Losowa liczba wygenerowana przez Random.Next (minVal, maxVal) to: 137
W powyższym przykładzie omówiliśmy, jak wygenerować losową liczbę całkowitą. Ale jeśli chcesz wygenerować losowy alfabet, użyjemy klasy Random.
Jak generować losowe alfabety?
Możemy wygenerować losowy alfabet za pomocą klasy random. Chociaż klasa Random zwraca tylko liczbę całkowitą, możemy jej użyć do wygenerowania losowych alfabetów.
Najłatwiejszym sposobem na to jest połączenie metody „ElementAt” z metodą Random.Next () w celu wskazania pozycji losowego alfabetu z serii alfabetów.
Przykład:
class Program { public static void Main(string() args) { Random ran = new Random(); String b = 'abcdefghijklmnopqrstuvwxyz'; int length = 6; String random = ''; for(int i =0; i Wynik powyższego programu będzie:
Wygenerowany losowo alfabet to: icysjd
Objaśnienie kodu
Podobnie jak w naszych poprzednich przykładach, tutaj utworzyliśmy obiekt Random. Następnie umieściliśmy wszystkie alfabety w łańcuchu, czyli String b. Zdefiniowaliśmy zmienną o nazwie „długość” typu całkowitego, która będzie oznaczać liczbę znaków wymaganych w losowo generowanym ciągu.
Zainicjowaliśmy losowy pusty ciąg, w którym będziemy przechowywać nasze alfabety. Następnie napisaliśmy pętlę for. Wewnątrz pętli for użyliśmy Random.Next (), aby wygenerować liczbę losową mniejszą niż 26, ponieważ liczba alfabetów, które zapisaliśmy w łańcuchu b, wynosi 26. Możesz także użyć innych liczb w zależności od wymagań.
W związku z tym int a będzie miał losową liczbę generowaną podczas każdego cyklu pętli, a następnie ta liczba będzie używana jako wskaźnik pozycji, aby uzyskać znak tej pozycji za pomocą ElementAt (). To da losowy znak za każdym razem, gdy działa pętla.
Następnie dodamy znaki razem w każdym cyklu pętli i otrzymamy wymagany ciąg o podanej długości.
Generuj losowy ciąg alfanumeryczny ze znakami specjalnymi
Aby wygenerować ciąg alfanumeryczny ze znakiem specjalnym, najprostszy sposób jest podobny do tego, który omówiliśmy w powyższym przykładzie. Będziemy musieli dodać cyfry i znaki specjalne do podanej zmiennej, z której może pobierać losowe wartości.
Ponieważ jednak program będzie losowo wybierał postacie, może być szansa, że niczego nie wybierze. Jeśli wyjście programu wymaga obowiązkowego znaku specjalnego, jest to trochę trudne. Omówmy program do generowania tekstu alfanumerycznego z obowiązkowymi znakami specjalnymi.
pytania do wywiadu na temat usług internetowych dotyczących odpoczynku i mydła
Poniższy program wygeneruje 8-cyfrowe, losowe wyjście alfanumeryczne z dwiema ostatnimi cyframi jako znakami specjalnymi.
class Program { public static void Main(string() args) { Random ran = new Random(); String b = 'abcdefghijklmnopqrstuvwxyz0123456789'; String sc = '!@#$%^&*~'; int length = 6; String random = ''; for(int i =0; i Wynik powyższego programu będzie:
Wygenerowany losowy alfabet to: 718mzl ~ ^
Objaśnienie kodu
W powyższym programie użyliśmy tej samej logiki, którą postępowaliśmy w ostatnim przykładzie. Wraz ze zmienną zawierającą znaki alfanumeryczne stworzyliśmy również inną zmienną łańcuchową ze znakami specjalnymi.
Następnie uruchomiliśmy pętlę for, aby wygenerować 6-cyfrowy znak alfanumeryczny, podobny do tego, który wykonaliśmy w poprzednim zadaniu. Napisaliśmy również inną pętlę for, która generowała 2 losowe znaki specjalne z podanego ciągu. Wygenerowane znaki specjalne zostały dołączone do losowego ciągu, który zadeklarowaliśmy na początku programu.
Dało to 8-cyfrowe wyjście z 6 znakami alfanumerycznymi i dwoma ostatnimi znakami specjalnymi. Wykonujesz trochę własnych poprawek, aby wygenerować ciągi zgodnie z własnymi wymaganiami.
Skonsolidowany program
class Program { public static void Main(string() args) { Random ran = new Random(); //Output for Random.Next() Console.WriteLine('The random number generated by Random.Next() is: {0}', ran.Next()); //Output for Random.Next(argument) with max value limit Console.WriteLine('The random number generated by Random.Next(argument) is: {0}', ran.Next(10)); //Output for Random.Next(argument1, argument2) with max and min value limit Console.WriteLine('The random number generated by Random.Next(argument1, argument2) is: {0}', ran.Next(10, 100)); String b = 'abcdefghijklmnopqrstuvwxyz0123456789'; String sc = '!@#$%^&*~'; int length = 6; String random = ''; for(int i =0; i Dane wyjściowe programu
Losowa liczba wygenerowana przez Random.Next () to: 1497664941
Losowa liczba wygenerowana przez Random.Next (argument) to: 8
Losowa liczba wygenerowana przez Random.Next (argument1, argument2) to: 92
Wygenerowany losowy alfabet to: b173gq # *
Wniosek
Klasa Random znajduje się w przestrzeni nazw System w języku C #.
Posiada trzy metody przeciążania, które pozwalają użytkownikowi wygenerować losową liczbę całkowitą na podstawie wartości podanych przez argument. Klasa losowa nie jest idealnym sposobem na wygenerowanie losowej wartości, ale jest najprostszym sposobem na jej osiągnięcie.
=> Przeczytaj przewodnik C # dla początkujących tutaj
rekomendowane lektury
- C # String Tutorial - Metody ciągów z przykładami kodu
- Ciąg Java z buforem ciągów i samouczek dotyczący tworzenia ciągów
- C # samouczek obsługi wyjątków z przykładami kodu
- Funkcje łańcuchowe w Pythonie
- C # funkcje / metody samouczek z przykładami kodu
- Tworzenie mocków i szpiegów w Mockito z przykładami kodu
- Ciągi znaków w C ++ z przykładami
- Samouczek dotyczący dzielenia ciągów w Pythonie