c random number c random string generator with code examples
Naučte se generovat náhodné číslo C #, náhodnou abecedu a náhodný řetězec obsahující speciální znaky v tomto informativním výukovém programu C # s příklady kódu:
Existují scénáře, kdy jsme povinni generovat náhodná čísla, abecedy, znaky atd. K dosažení tohoto cíle máme ve jmenném prostoru systému k dispozici třídu Random.
Náhodná třída umožňuje náhodně generovat celočíselnou hodnotu. Pomocí této náhodné třídy lze vygenerovat jinou sadu čísel / znaků. Budeme o tom diskutovat dále v tomto tutoriálu.
=> Zde si můžete prohlédnout celou sérii školení C #
Co se naučíte:
- Jak generovat náhodné celé číslo v C #?
- Jak generovat náhodné abecedy?
- Generujte náhodný alfanumerický řetězec se speciálními znaky
- Závěr
Jak generovat náhodné celé číslo v C #?
Náhodná třída nabízí tři metody přetížení ke generování celých čísel na základě parametru poskytnutého uživatelem. Podívejme se na všechny tři metody.
Používání C # Random.Next ()
Další obsahuje tři přetížení:
Další () Bez argumentu
První přetížení pro Random.Next () nevyžaduje žádný argument. Vrátí nezápornou celočíselnou hodnotu.
Pří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ýstupem výše uvedeného programu bude libovolná nezáporná náhodná hodnota:
Výstup
Generované náhodné číslo je: 157909285
Další () S jedním argumentem
Další přetížení pro Random.Next () přijímá jeden argument. Zadaný argument určuje maximální hodnotu, kterou lze metodou generovat. Maximální hodnota by měla být buď větší než nebo rovna nule. Vrátí nezáporné celé číslo s maximální hodnotou jako argument poskytnutý uživatelem.
Pří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ýstup výše uvedeného programu vygeneruje celé číslo větší než nula a menší než maximální zadaná hodnota, tj. 1000.
Výstup
Náhodné číslo generované Random.Next (argument) je: 574
linux najít rozdíl mezi dvěma soubory
Další () Se dvěma argumenty
Náhodná třída se používá k simulaci náhodné události. K vygenerování náhodného znaku použijeme Next (). Next () přijímá dva argumenty, první je minimální a inkluzivní hodnota povolená pro náhodný generátor.
Druhý argument přijímá maximální výlučnou hodnotu. Maximální exkluzivní hodnota znamená, že hodnota předaná v druhém argumentu nebude nikdy vygenerována. Vygenerovaná hodnota bude vždy menší než maximální hodnota.
Pojďme se podívat 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ýstupem výše uvedeného programu bude hodnota mezi daným rozsahem, tj. Mezi 10 a 1000, kde je minimální hodnota, tj. 10, včetně.
Výstup
Náhodné číslo generované programem Random.Next (minVal, maxVal) je: 137
Ve výše uvedeném příkladu jsme diskutovali o tom, jak generovat náhodné celé číslo. Ale pokud chcete vygenerovat náhodnou abecedu, použijeme třídu Random.
Jak generovat náhodné abecedy?
Můžeme generovat náhodnou abecedu pomocí náhodné třídy. Ačkoli třída Random vrací pouze celé číslo, můžeme ji použít ke generování náhodných abeced.
Nejjednodušší způsob, jak toho dosáhnout, je zkombinovat metodu „ElementAt“ s Random.Next (), aby se poukázalo na pozici náhodné abecedy ze série abeced.
Pří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ýstupem výše uvedeného programu bude:
Generovaná náhodná abeceda je: icysjd
Vysvětlení kódu
Podobně jako v předchozích příkladech jsme zde vytvořili náhodný objekt. Poté jsme všechny abecedy uložili do řetězce, tj. Řetězce b. Definovali jsme proměnnou nazvanou „délka“ celočíselného typu, která označuje počet znaků požadovaných v náhodně generovaném řetězci.
Inicializovali jsme prázdný řetězec náhodně, kde budeme ukládat naše abecedy. Pak jsme napsali smyčku pro. Uvnitř smyčky for jsme použili Random.Next () ke generování náhodného čísla menšího než 26, protože počet abeced uložených v řetězci b je 26. Můžete také další čísla v závislosti na požadavku.
Proto bude mít int a náhodné číslo generované během každého cyklu smyčky, pak bude toto číslo použito jako indikátor polohy k získání znaku na dané pozici pomocí ElementAt (). To dá náhodný znak pokaždé, když smyčka běží.
Potom přidáme znaky dohromady v každém cyklu smyčky a získáme požadovaný řetězec s danou délkou.
Generujte náhodný alfanumerický řetězec se speciálními znaky
Chcete-li vygenerovat alfanumerický řetězec se speciálním znakem, nejjednodušší způsob je podobný tomu, který jsme popsali ve výše uvedeném příkladu. Budeme muset přidat číslice a speciální znaky do dané proměnné, ze které může vybírat náhodné hodnoty.
Ale protože program náhodně vyzvedne znaky, může existovat šance, že nic nevybere. Pokud váš programový výstup vyžaduje povinný povinný speciální znak, je to trochu složité. Pojďme se bavit o programu generování alfanumerického textu s povinnými speciálními znaky.
Následující program vygeneruje 8místný náhodný alfanumerický výstup s posledními dvěma číslicemi jako speciální 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ýstupem výše uvedeného programu bude:
Vygenerovaná náhodná abeceda je: 718mzl ~ ^
Vysvětlení kódu
Ve výše uvedeném programu jsme použili stejnou logiku, jakou jsme použili v posledním příkladu. Spolu s proměnnou, která obsahuje alfanumerické znaky, jsme také vytvořili další řetězcovou proměnnou se speciálními znaky.
Pak jsme spustili smyčku for, abychom vygenerovali 6místný alfanumerický znak, podobný tomu, který jsme udělali v našem předchozím problému. Napsali jsme také další smyčku for, která z daného řetězce vygenerovala 2 náhodné speciální znaky. Vygenerované speciální znaky byly připojeny k náhodnému řetězci, který jsme deklarovali na začátku programu.
Tak vznikl 8místný výstup se 6 alfanumerickými znaky a dvěma posledními speciálními znaky. Provedete trochu vylepšení, abyste vygenerovali řetězce podle svého vlastního požadavku.
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 programu
program pro stahování videí z webových stránek
Náhodné číslo vygenerované funkcí Random.Next () je: 1497664941
Náhodné číslo generované Random.Next (argument) je: 8
Náhodné číslo generované Random.Next (argument1, argument2) je: 92
Vygenerovaná náhodná abeceda je: b173gq # *
Závěr
Třída Random je přítomna uvnitř jmenného prostoru systému v C #.
Má tři metody přetížení, které uživateli umožňují generovat náhodné celé číslo na základě hodnot poskytovaných argumentem. Náhodná třída není dokonalým způsobem, jak generovat náhodnou hodnotu, ale je nejjednodušším způsobem, jak ji dosáhnout.
=> Přečtěte si C # průvodce pro začátečníky zde
Doporučené čtení
- C # String Tutorial - Metody řetězců s příklady kódu
- Výukový program Java String s funkcí String Buffer a String Builder
- Výukový program pro zpracování výjimek C # s příklady kódu
- Funkce řetězce Python
- Výukový program pro funkce / metody C # s příklady kódu
- Vytváření mocků a špiónů v mockito s příklady kódu
- Řetězce v C ++ s příklady
- Výukový program pro rozdělení řetězce v Pythonu