c random number c random string generator with code examples
Naučte sa, ako vygenerovať náhodné číslo C #, náhodnú abecedu a náhodný reťazec obsahujúce špeciálne znaky v tomto informatívnom návode C # s príkladmi kódu:
Existujú scenáre, v ktorých sa vyžaduje, aby sme generovali náhodné čísla, abecedy, znaky atď. Aby sme to dosiahli, máme v priestore názvov systému k dispozícii triedu Random.
Trieda random vám umožňuje náhodne vygenerovať celočíselnú hodnotu. Pomocou tejto náhodnej triedy je možné vygenerovať inú množinu čísel / znakov. Budeme o tom diskutovať ďalej v tomto návode.
=> Tu si môžete pozrieť celú sériu školení C #
Čo sa dozviete:
- Ako vygenerovať náhodné celé číslo v C #?
- Ako generovať náhodné abecedy?
- Vytvorte náhodný alfanumerický reťazec so špeciálnymi znakmi
- Záver
Ako vygenerovať náhodné celé číslo v C #?
Náhodná trieda ponúka tri metódy preťaženia na generovanie celých čísel na základe parametra poskytnutého používateľom. Pozrime sa na všetky tri metódy.
Používanie C # Random.Next ()
Ďalej obsahuje tri preťaženia:
Ďalej () Bez argumentu
Prvé preťaženie pre Random.Next () nevyžaduje žiadny argument. Vráti nezápornú celočíselnú hodnotu.
Príklad:
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(); } }
Výstupom z vyššie uvedeného programu bude akákoľvek nezáporná náhodná hodnota:
Výkon
Generované náhodné číslo je: 157909285
Ďalej () S jedným argumentom
Ďalšie preťaženie pre Random.Next () prijíma jeden argument. Zadaný argument určuje maximálnu hodnotu, ktorú je možné vygenerovať metódou. Maximálna hodnota by mala byť buď väčšia alebo rovná nule. Vráti nezáporné celé číslo s maximálnou hodnotou ako argument poskytnutý používateľom.
Príklad:
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(); } }
Výstupom vyššie uvedeného programu bude celé číslo väčšie ako nula a menšie ako zadaná maximálna hodnota, t. J. 1000.
Výkon
Náhodné číslo vygenerované programom Random.Next (argument) je: 574
otvorenie súboru eps v systéme Windows
Ďalej () S dvoma argumentmi
Náhodná trieda sa používa na simuláciu náhodnej udalosti. Na vygenerovanie náhodného znaku použijeme Next (). Funkcia Next () prijíma dva argumenty, prvý z nich je minimálna a inkluzívna hodnota povolená pre náhodný generátor.
Druhý argument akceptuje maximálnu výlučnú hodnotu. Maximálna výlučná hodnota znamená, že hodnota zadaná v druhom argumente sa nikdy nevygeneruje. Vygenerovaná hodnota bude vždy nižšia ako maximálna hodnota.
Pozrime sa na jednoduchý 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(); } }
Výstupom vyššie uvedeného programu bude hodnota medzi daným rozsahom, tj. Medzi 10 a 1 000, pričom minimálna hodnota, tj. 10, je vrátane.
Výkon
Náhodné číslo vygenerované programom Random.Next (minVal, maxVal) je: 137
Vo vyššie uvedenom príklade sme diskutovali o tom, ako vygenerovať náhodné celé číslo. Ale v prípade, že chcete vygenerovať náhodnú abecedu, použijeme triedu Random.
Ako generovať náhodné abecedy?
Náhodnú abecedu môžeme vygenerovať pomocou náhodnej triedy. Aj keď náhodná trieda vracia iba celé číslo, môžeme ju použiť na generovanie náhodných abeced.
Najjednoduchší spôsob, ako to urobiť, je spojiť metódu „ElementAt“ s Random.Next (), aby sa poukázalo na pozíciu náhodnej abecedy zo série abecedy.
Príklad:
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 Výstupom vyššie uvedeného programu bude:
Vygenerovaná náhodná abeceda je: icysjd
Vysvetlenie kódu
Podobne ako v predchádzajúcich príkladoch, aj tu sme vytvorili objekt Random. Potom sme všetky abecedy uložili do reťazca, tj. Do reťazca b. Definovali sme premennú nazvanú „dĺžka“ celočíselného typu, ktorá označuje počet znakov požadovaný v náhodne generovanom reťazci.
Inicializovali sme prázdny reťazec náhodne, kde budeme ukladať naše abecedy. Potom sme napísali slučku pre. Vo vnútri cyklu for sme použili Random.Next () na vygenerovanie náhodného čísla menšieho ako 26, pretože počet abecedných znakov, ktoré sme uložili v reťazci b, je 26. Môžete tiež zvoliť ďalšie čísla v závislosti od požiadavky.
Preto bude mať int a náhodné číslo generované počas každého cyklu slučky, potom sa toto číslo použije ako indikátor polohy na získanie znaku na tejto pozícii pomocou ElementAt (). Toto dá náhodný znak zakaždým, keď beží slučka.
Potom spojíme znaky spolu v každom cykle slučky a získame požadovaný reťazec s danou dĺžkou.
Vytvorte náhodný alfanumerický reťazec so špeciálnymi znakmi
Na vygenerovanie alfanumerického reťazca so špeciálnym znakom je najjednoduchší spôsob podobný tomu, o ktorom sme hovorili vo vyššie uvedenom príklade. Budeme musieť pridať číslice a špeciálne znaky do danej premennej, z ktorej dokáže vyberať náhodné hodnoty.
Ale keďže program bude náhodne vyberať znaky, môže existovať šanca, že nič nevyberie. Ak výstup vášho programu vyžaduje povinný špeciálny znak, je to trochu zložité. Poďme diskutovať o programe na generovanie alfanumerického textu s povinnými špeciálnymi znakmi.
Nasledujúci program vygeneruje 8-ciferný náhodný alfanumerický výstup s poslednými dvoma číslicami ako špeciálne znaky.
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 Výstupom vyššie uvedeného programu bude:
Vygenerovaná náhodná abeceda je: 718mzl ~ ^
Vysvetlenie kódu
proces správy defektov pri testovaní softvéru
Vo vyššie uvedenom programe sme použili rovnakú logiku, ako sme postupovali v minulom príklade. Spolu s premennou, ktorá obsahuje alfanumerické znaky, sme vytvorili aj ďalšiu reťazcovú premennú so špeciálnymi znakmi.
Potom sme spustili cyklus for, aby sme vygenerovali 6-ciferný alfanumerický znak, podobný tomu, ktorý sme urobili v našom predchádzajúcom probléme. Napísali sme tiež ďalší cyklus for, ktorý z daného reťazca vygeneroval 2 náhodné špeciálne znaky. Vygenerované špeciálne znaky boli doplnené náhodným reťazcom, ktorý sme deklarovali na začiatku programu.
Toto poskytlo 8-ciferný výstup so 6 alfanumerickými znakmi a poslednými dvoma špeciálnymi znakmi. Vykonáte malé vyladenie, aby ste vygenerovali reťazce podľa vlastných požiadaviek.
Konsolidovaný 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 Výstup z programu
Náhodné číslo vygenerované funkciou Random.Next () je: 1497664941
Náhodné číslo vygenerované programom Random.Next (argument) je: 8
Náhodné číslo vygenerované programom Random.Next (argument1, argument2) je: 92
Vygenerovaná náhodná abeceda je: b173gq # *
Záver
Trieda Random je prítomná vo vnútri menného priestoru systému v C #.
Má tri metódy preťaženia, ktoré umožňujú používateľovi vygenerovať náhodné celé číslo na základe hodnôt poskytnutých argumentom. Náhodná trieda nie je dokonalým spôsobom, ako generovať náhodnú hodnotu, ale je najjednoduchším spôsobom, ako ju dosiahnuť.
=> Prečítajte si C # Sprievodcu pre začiatočníkov tu
Odporúčané čítanie
- C # String Tutorial - Metódy reťazcov s príkladmi kódu
- Výukový program Java String s programom String Buffer a String Builder
- Výukový program na spracovanie výnimiek C # s príkladmi kódu
- Funkcie reťazca Python
- Výukový program pre funkcie / metódy C # s príkladmi kódu
- Vytváranie simulátorov a špiónov v simulátore s príkladmi kódu
- Reťazce v C ++ s príkladmi
- Výukový program pre rozdelenie reťazcov Python