26.07.2013 Views

Operativsystem: .............................................................

Operativsystem: .............................................................

Operativsystem: .............................................................

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

}<br />

Stor=18<br />

Nu har ’Lille’ eksplicit fået værdien 9 og programmet kan så sætte skriften til font størrelse punkt 9<br />

direkte. Stadig er Skrift.Lille meget nemmere at huske.<br />

Som det andet eksempel vil vi se på hvordan en enum kan bruges til gennemløb:<br />

Vi vil først definere 2 enums:<br />

public enum Ugedag{<br />

Mandag=1,Tirsdag,Onsdag,Torsdag,Fredag,Lørdag,Søndag<br />

}<br />

public enum Maaned{<br />

Januar,Februar,Marts,April,Maj,Juni<br />

}<br />

Det typiske for disse er jo, at kalenderen hele tiden gennemløber disse enums – af nemheds grunde<br />

er her kun medtaget de første måneder.<br />

I enumerationen Ugedag har vi eksplicit givet Mandag værdien 1 – det betyder at de følgende retter<br />

sig efter nr 1 dvs Tirsdag får værdien 2 osv.<br />

I Maaned har Januar derimod værdien 0 - da intet andet er defineret.<br />

I nedenstående program vises en kalender som starter mandag den 13. januar og går 70 dage frem.<br />

NB de 2 enums må IKKE oprettes inden i Main() idet de er selvstændige objekter.<br />

Kalenderen starter ved at vi opretter 2 konkrete eksempler (instanser af) på de 2 enums:<br />

Ugedag u=(Ugedag)1;<br />

Maaned m=(Maaned)0;<br />

Dette betyder at u er en ’Ugedag’ som har værdien 1 altså ’Mandag’ og m er en ’Maaned’som har<br />

værdien 0 altså Januar! Vi skal se dette skema senere i forbindelse med objekt orienteret<br />

programmering – enumerationer (og strukturer) er forløbere for de objekt orienterede klasser.<br />

Udtrykket (Ugedag)1 er en ’cast’ – tallet 1 bliver casted gennem Ugedag og gjort til en Ugedag<br />

med værdien 1.<br />

NB nedenstående kode er desværre ikke helt tilstrækkelig – måneder på 29, 29, 30 og 31 giver visse<br />

problemer!<br />

//fil:enum.cs<br />

//illustrerer enums i C# med en kalender:<br />

using System;<br />

using System.Windows.Forms;<br />

class Kalender<br />

{<br />

public enum Ugedag{

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!