Enumerencija

Enum tip je poseban popis konstantnih vrijednosti i elementi enum tipa (ili pobrojenog tipa) zapisuju se samo riječima, a ne brojevima.Vrijednosti elemenata su cijeli brojevi, ali mogu biti i realni brojevi, bitovi itd (bilo koje numeričke vrijednosti osim znakova) kao što će biti prikazano u lekciji. Kada definirate enumeraciju tada zapisujete elemente koji će se koristiti kao konstante sa svojim odgovarajućim vrijednostima. Sljedeći kod prikazuje primjer takve deklaracije. public enum DANI { Ponedjeljak, Utorak, Srijeda, Cetvrtak, Petak, Subota, Nedjelja } Važno je uočiti kako ne postoje nikakve numeričke vrijednosti definirane za pojedine elemente enumeracije DANI. Umjesto toga, sve numeričke vrijednosti su dodane elementima po sljedećim pravilima: 1. Za prvi elemenat : ako je unassigned, vrijednost mu je 0. 2. Za svaki ostali elemenat : ako je unassigned, tada mu je vrijednost za jedan veća od vrijednosti njemu prethodnog elementa. Iz tih dva pravila možemo vidjeti da će elemenat DANI.Ponedjeljak imati vrijednost 0, i da će se vrijednosti elemenata povećavati za jedan pa će tako elemenat DANI.Nedjelja imati vrijednost 6. Primjetite kako se dodavaju vrijednosti elementima enumeracije – vrijednosti dodane elemenatima enumeracije su statične, stoga ih pozivamo u kodu koristeći naziv enumeracije s elementom: "DANI.Ponedjeljak" umjesto samo elementom "Ponedjeljak". Nadalje, te vrijednosti su konstantne – ne možete im mijenjati vrijednosti tijekom izvođenja programa. Sljedeći kod demonstrira kako elementi enumeracije mogu biti i tipa različitog od int. U sljedećem primjeru svi elementi enumeracije imaju vrijednosti bit tipa. enum byteEnum: byte { A, B } Također, enumeracije nam omogućuju da i neki elementi odstupaju od pravila po kojem elementi enumeracije imaju vrijednosti od 0 do broja elemenata enumeracije. Ako se želi iskoristiti ova mogućnost, mora se dodati određeni broj elementu enumeracije (u ovom primjeru prvi elemenat ima vrijednost 1). Ostali elementi će imati vrijednosti po drugom pravilu enumeracije, pa će elemenat DANI.Nedjelja imati vrijednost 7. public enum DANI { Ponedjeljak = 1, Utorak, Srijeda, Cetvrtak, Petak, Subota, Nedjelja } U ovim dvama primjerima gore, vrijednosti svakog elementa je jedinstvena ovisno o enumeraciji. Enumeraciju možete prilagoditi vašoj želji, ali elementi mogu biti i istih vrijednosti. U sljedećem primjeru vrijednost elementa DANI.Četvrtak je jednaka 1. Vrijednosti elemenata koji slijede poslije njega će imati vrijednosti po drugom pravilu enumeracije, pa će DANI.Utorak i DANI.Petak imati vrijednost 2, itd. public enum DANI { Ponedjeljak = 1, Utorak, Srijeda, Četvrtak = 1, Petak, Subota, Nedjelja } U C# enumeracije su type-safe, a to znači da će kompajler zaustaviti izvođenje programa ako ste u programu elementima enumeracije dodali nedopuštene vrijednosti. Kao primjer, sljedeći kod se neće kompajlirati: int i = DANI.Ponedjeljak; DANI d = i; Ako želite da se ovaj kod ipak izvrši, trebat ćete izvršiti pretvorbu elementa enumeracije u int i varijable i korištenjem explicit cast, kao što je prikazano: int i = (int)DANI.Ponedjeljak; DANI d = (DANI)i; Sada se vjerojatno pitate što se bi se dogodilo ako ćete castati int u vrijednost enumeracije gdje je ta vrijednost definirana samo za dva elementa u okviru enumeracije. Odgovor je: jedan od elemenata je dobio 'prima using System; public class EnumTest { public enum DANI: byte {Ponedjeljak, Utorak, Srijeda, Cetvrtak, Petak, Subota, Nedjelja} public static void Main() { Array daniArray = Enum.GetValues(typeof(EnumTest.DANI)); foreach (DANI dani in daniArray) Console.WriteLine("Broj {1} iz EnumTest.DANI je {0}", dani, dani.ToString("d"); } } Budući da nije odmah jasno što se dogodilo u main metodi ovog programa, proći ćemo kroz ovaj program. Na liniji 9 koristili smo statičnu GetValues metodu za Enum klasu. Kada se toj klasi dodijeli enumeracijski tip – u ovom slučaju, EnumTest.DANI – vraća polje svih vrijednosti elemenata unutar enumeracije. Primjetite kako klasa Enum također sadrži metodu GetNames koja vraća nazive elemenata kao stringove.. Na liniji 10 postavili samo foreach petlju, kako bi svaku vrijednost pojedinog elementa u polju daniArray pripremili za ispis. Primjetite kako je ova vrijednost od tipa DANI. Na liniji 11 koristili samo znakove formatiranja kao dio metode Console.WriteLine. Ova metoda omogućava korištenje String.Format metode, pa je ekvivalentna: Console.WriteLine(String.Format("Broj {1} iz EnumTest.DANI je {0}", dani, dani.ToString("d"))); I što metoda String.Format čini je da uzima 'tekstualni prikaz' objekata koji su navedeni kao parametri te ih postavlja na odgovarajuća mjesta u okviru 'formata stringa'. Stoga je ova linija ekvivalentna sa sljedećom: Console.WriteLine("Broj " + dani.ToString("d").ToString() + " iz EnumTest.DANI je " + dani.ToString()); Sada, kada znamo da će dani.ToString() vratiti niz elementa, što je sa metodom dani.ToString("d")? Čvrsto smo ovo prije objasnili, no objašnjenje je bilo preoštro. U biti napravili smo grešku. Stoga se nadamo da će sljedeće biti bolje. ToString metoda može primiti jedan parametar IFormatProvider koji indicira kako će se konverzija u string provesti. Vrijednosti za taj parametar mogu biti riječi poput "g", "d", "x", "f", itd. Prva implikacija koju smo korisitili i u našem programu je "d", međutim, ona je namijenjema decimalnom formatu. I kada koristimo ovo kod enumeracijskog člana, omogućuje prikaz elementa enumeracije kao stringa preko numeričke vrijednosti. Stoga, kada pokrećemo kod iznad, dobivamo sljedeći izlaz: Broj 0 iz EnumTest.DANI je Ponedjeljak Broj 1 iz EnumTest.DANI je Utorak Broj 2 iz EnumTest.DANI je Srijeda Broj 3 iz EnumTest.DANI je Četvrtak Broj 4 iz EnumTest.DANI je Petak Broj 5 iz EnumTest.DANI je Subota Broj 6 iz EnumTest.DANI je Nedjelja

Western Europen time
 
Call of Duty 5
 
Iz neslužbenih izjava saznajemo kako bi se call of duty 5 mogao vratit u WWII
To su tek špekulacije, ali gdje ima dima ima i vatre.
Naslov će biti vrlo kreativan "World at war"(Svijet u ratu)
Novost je i to što nastavak određuje Treyarch , a ne stari,, pouzdani, dobri Infinity ward.
Ovaj put se bojište nalazi na Pacificu. Borba se odvija između Amerikanaca i Japanaca.
Prvi put u Call of Duty-u novo oružje- bacač plamena.
Držimo fige za WWII
Nova Fifa
 
Ovo je vjerojatno prvi put da pro evolution mora loviti fifu .
Naime ako neki čitatelji post-a neznaju fifa je u svojim trailerim-a pokazala evoluciju
u virtualnom nogometu.
Naime proevolution također ne zaostaje mnogo.
To će biti bitka godine(pretpostavljamo).
Nfs:UnderCover
 
EA je izdao novi nfs. Pod imenom UnderCover.
Navodno su u ovo izdanje uložili mnogo truda(što se nije vidjelo na carbonu).
Nfs se također napokon vraća na staze na kojima je najbolji(Ulice).
Linkovi
 
Mojn novi forum:
http://keli-master.net84.net
Odlični bologovi
myopinionabouteverything.blog.hr
teenworldlifemovie.blog.hr/
 
Today, there have been 1 visitors (1 hits) on this page!
Creative Commons License
Djelo Computers, čiji je autor Keli-master, ustupljeno je pod licencom Creative Commons Imenovanje-Nekomercijalno-Bez prerada 3.0 Hrvatska.
Bazirano na djelu koje se nalazi na keli-master.page.tl.
Dopuštenja koja prelaze okvire ove licence možda su dostupna na http://keli-master.page.tl. This website was created for free with Own-Free-Website.com. Would you also like to have your own website?
Sign up for free