C# nabrajanje

C Nabrajanje



C# je programski jezik koji se koristi za razvoj programa, web stranica, android aplikacija, igara i još mnogo toga. C# podržava različite biblioteke i okvire koji imaju ugrađene funkcije. Enum je nabrajanje, to je klasa. Klasa ima različite tipove podataka i funkcije u sebi, strukturu podataka, koja sadrži različite varijable u sebi. Nabrajanje je osobito korisno kada znamo sve varijable u vrijeme kompajliranja koje korisnik definira tipove podataka u njima. Enum sadrži različite vrijednosti i te se vrijednosti ne mogu mijenjati. Vrijednosti se mogu dohvatiti i koristiti u kodu, ali ne možemo promijeniti vrijednosti tijekom izvođenja, one su samo čitljive i nepromjenjive. Enumeration tretira sve podatke u sebi kao niz, ako želimo koristiti cjelobrojnu vrijednost moramo upisati cast. Nabrajanje je korisno jer zauzima manje memorije i prostora.

Sintaksa







enum E_Name { Vrijednost_1, Vrijednost_2, Vrijednost_3,….. } ;


Ili



enum E_Name { Vrijednost_1 = 3. 4 , Vrijednost_2 = 90 , Vrijednost_3 = 8 ,….. } ;


Atribut 'enum' je ključna riječ za definiranje nabrajanja. Kad god trebamo korisnički definirane vrste podataka, nabrajanje ključna riječ koristi se za stvaranje korisnički definiranog tipa podataka. ' E_name' je naziv enum klase. Unutar ove klase vitičaste zagrade će sadržavati sve parametre i vrijednosti u njoj. Argumente možemo samo napisati, a kompajler će im dodijeliti vrijednosti. Prema zadanim postavkama, počevši od prve vrijednosti pohranjuje se u indeks 0, a sljedeća na 1 i tako dalje.



Nema ograničenja na vrstu podataka argumenata, možemo dodijeliti cjelobrojne vrijednosti, vrijednosti s pomičnim zarezom, znakove, Booleove vrijednosti ili nizove. Ali ako ne dodijelimo tipove podataka vrijednostima, automatski će im dodijeliti konstantnu vrijednost gdje su pohranjeni.





Vrste

U jeziku C# postoje dvije vrste enumeracije. Oni su navedeni u nastavku:

    • Jednostavno nabrajanje
    • Nabrajanje oznaka

Jednostavno nabrajanje

U ovoj kategoriji, članovi klase 'enum' sadrže jednu vrijednost.



Nabrajanje oznaka

U ovoj kategoriji, član klase oznaka enum sadrži višestruke vrijednosti ili višestruke vrijednosti korištenjem bitovnog operatora ili korištenjem OR (|).

Primjer 1:

U ovom slučaju, naučit ćemo kako možemo koristiti jednostavnu klasu 'enum' i dohvatiti vrijednosti bez njihovog dodjeljivanja varijablama.


Za kodiranje u C# programskom jeziku, prvo trebamo kreirati novi projekt, a zatim započeti kodiranje. Kada želimo kreirati konzolnu aplikaciju, trebali bismo odabrati konzolnu aplikaciju, C# framework, koja će automatski pisati klasu i main() funkciju. Da bismo koristili jednostavni izraz 'enum' iznad u kodu, definirat ćemo i inicijalizirati internu klasu 'Program'. Kako je enum ključna riječ, a sljedeća riječ nakon enuma je 'imena_voća'. Unutar vitičastih zagrada definiramo popis koji želimo. Ovdje klasa enum sadrži četiri imena voća. Pozivamo sve funkcije unutar metode main(). Unutar statičkog main(), prikazat ćemo jednu za drugom sve enum vrijednosti. U ovom kodu samo pišemo argumente enuma, a ne vrijednosti. Dakle, automatski će im dodijeliti indekse u kojima su pohranjeni kao vrijednost.

Funkcija Console.writeline() koristi se za pisanje na izlaznom ekranu i nakon predstavljanja poruke pomiče kursor u sljedeći redak. Unutar ove izjave napišite poruku i povežite je sa znakom '+' kako biste prikazali definiranu poruku s vrijednošću. Nakon ulančavanja upišite 'enum name' i upotrijebite (.) za adresiranje određene vrste 'enum': fruit_names.Apple. Zatim, u sljedećoj izjavi ponovno upotrijebite znak (+) da spojite tip s porukom i indeksom gdje je pohranjena. Da bismo dobili indeks, prvo ga trebamo pretvoriti u cijeli broj tako što ćemo izvršiti tipiziranje. U C# tipu, kasting se vrši samo korištenjem zagrada. Unutar zagrada upišite tip podataka u koji želimo upisati. Izvan zagrada napišite naziv varijable, tj. (int)var_name. Na taj način možemo dobiti poruku s enum vrijednošću i indeksom gdje je pohranjena.

Ponovite ovo tri puta; samo promijenite poruku i tip enuma. Nabrajanje čini da kod izgleda lijepo i čisto. Funkcija Console.ReadKey() držat će konzolu aktivnom dok je ne zatvorimo. Ako ne koristimo ovu naredbu, konzola će zatreperiti jednom i zatim će nestati.

Primjer 2:

U ovom programu ćemo implementirati jednostavnu klasu 'enum' dodjeljivanjem različitih vrijednosti atributima klase.


U drugom primjeru ponovno smo izradili projekt za konzolnu aplikaciju i definirali enumeraciju unutar interne klase 'Program' s ključnom riječi 'enum'. Ovaj put sadrži klasu 'items' s različitim vrijednostima. Unutar funkcije main() pristupit ćemo svim elementima klase enum 'items'. Iskoristimo metodu console.writeLine(). Prikazat će sve što ima u sebi. Prvo prikažite poruku, a zatim ponovno pozovite funkciju Console.WriteLine() za prikaz prve stavke s količinom. Definirajte tekst koji želimo prikazati na terminalu i spojite ga s predmetima.chairs. Dobit će prvu stavku (stolice) enum klase 'stavki'. Da bismo dobili količinu ove stavke, moramo napraviti kasting jer su podaci u enum klasi u obliku niza. Dakle, da pristupimo njihovim vrijednostima prvo upisujemo cast. Da biste dobili vrijednost 'stolica', napravite kasting poput (int)items.chairs. U protivnom ćemo dobiti samo stavku 'stolice', a ne njenu vrijednost. Ovdje se, ako smo primijetili, koriste simboli ‘\n’ i ‘\t’. Korištenjem '\t' dajemo prostor tabulatoru, a korištenjem '\n' pomicat ćemo kursor u sljedeći redak. Ponovite ovaj postupak dva puta. Moramo samo ažurirati enum vrijednosti. Na kraju samo napišite console.ReadKey() kako bi konzola ostala aktivna tako da možemo vidjeti izlaz.

Primjer 3:

U ovom scenariju koristit ćemo enum 'zastavice'.


U jednostavnom nabrajanju možemo dodijeliti samo jednu vrijednost članu klase enum. Ali s enumeracijom zastavica, možemo dodijeliti više od jedne vrijednosti jednom članu klase enum. Ova vrsta nabrajanja je korisna kada imamo posla s različitim izborima i kada imamo više od jedne vrijednosti. Da bismo koristili enumeraciju zastavica, prije definiranja klase enum, moramo napisati [flags], a zatim napisati klasu enum 'flag_example'. Sada, unutar ove klase, možemo lako dodijeliti više od jedne vrijednosti jednom članu. U ovom smo primjeru dodijelili dvije vrijednosti atributu 'vozač' i razdvojili obje vrijednosti pomoću operatora (|). Zatim u funkciji main() deklarirajte varijablu 'var flags'. Za prikaz više od jedne stavke na konzoli, upotrijebite operator ili (|), a zatim pozovite enum stavke s nazivom klase i nazivom stavke. Za prikaz poruke pozovite metodu Console.WriteLine(). Da biste predstavili vrijednost zastavice, napišite 'flag' u drugu Console.Write(). U sljedećoj izjavi poziva se funkcija Console.ReadKey() koja će držati konzolu otvorenom dok je ne zatvorimo.

Zaključak

U ovom smo vodiču naučili o nabrajanju, što je to i kako ga možemo koristiti u jeziku C#. Nabrajanje čini kôd jednostavnim i čitljivim. Budući da se vrijednosti u enum klasi ne mogu mijenjati. To nam daje prednosti kada se bavimo takvom vrstom podataka koji ne zahtijevaju promjenu vrijednosti. Razgovarali smo o sintaksi i vrstama nabrajanja uz pomoć različitih kodova. Nabrajanje zauzima manje memorije i jednostavno je za korištenje.