Editie 2: C# (CSharp) Tutorial
Hoeveel procent heb je GTA Vice City uitgespeelt?
91 leden hebben gestemd
-
1. Hoeveel procent heb je GTA Vice City uitgespeelt?
-
10%5
-
20%6
-
30%1
-
40%2
-
50%11
-
60%6
-
70%4
-
80%7
-
90%40
-
100%0
-
This poll is closed to new votes
- Log in of registreer om te stemmen in deze peiling.
In deze editie laat ik de verschillen tussen public, static e.d. zien, en we gaan aan de slag met classes.
Benodigdheden
- Visual Studio 2008 / 2010 (betaald) of Visual C# Express 2008 / 2010 (gratis)
Types
Private
Private gebruik je als je een variabel, class, void of functie wil maken die alleen in het huidige script gebruikt kan worden. Dus zodat andere scripts die niet kunnen gebruiken. Standaard zonder aan te geven of wat het moet zijn, word het automatisch private.
Een voorbeeld:
class test { private int i; double d; }
Bij alle twee de variabelen zijn ze private.
Public
Bij public kan je de variabel van andere scripts benaderen, in tegenstelling tot private.
Een voorbeeld:
class test { public int i; }
Static
Static zorgt ervoor dat de variabel meteen te benaderen is. Zonder dat er iets extra's gedeclareerd moet worden. Als je het vanuit een ander script wilt benaderen, dien je er wel public voor te zetten.
Voorbeeld:
Main:
class Program { static void Main(string[] args) { Console.WriteLine(test.e); test.Init(); Console.WriteLine(test.e); Console.ReadKey(); } }
class test:
class test { public static int e; public static void Init() { e = 1; } }
Normaal moet je eerst de class test in de main declareren.
Maar nu kan je het meteen benaderen.
Classes
Door met classes te werken kan je elk deel van de code overzichtelijk een eigen stuk script geven.
Hier word stap voor stap beschreven hoe je classes moet aanmaken en kan gebruiken.
1.Maak een nieuw project.
- Start Visual Studio of Visual C# Express op.
- Ga naar File > New > Project
- Kies in dit dialoogvenster: Console Application
- Voer onderin een naam in voor je applicatie
- Rechtsboven in de hoek kies je voor .Net Framework 2.0 (de functies in de nieuwere versie's hebben we nu niet nodig)
- Klik op OK.
2. Ga naar: Project > Add Class > Geef het een naam (in voorbeeld noem ik het test) > Klik op OK
Als het goed is heb je nu 2 class bestanden":
- Program.cs (het main script)
- <naam die je opgegeven hebt>.cs
Een klein programmaatje
We gaan een klein programma maken die de resterende dagen tot het einde van het jaar berekend.
Hiervoor gaan we gebruik maken van o.a. een loop. Loops zal ik in de volgende editie uitgebreid behandelen.
We gaan een "For" loop gebruiken, hoe werkt het?
for (<beginwaarde>;<controleerwaarde>; <Optionele waarde>) { //hier je code }
We beginnen in de class die je zonet aangemaakt hebt.
Eerst gaan we een aantal variables declareren.
static int Huidigjaar = DateTime.Now.Year; static int Huidigemaand = DateTime.Now.Month; static int HuidigeDag = DateTime.Now.Day; static DateTime dt;
We maken deze static omdat als je vanuit een static void of functie een variable wilt gebruiken, dan moet de variabel ook static zijn.
Daarnaast laten we ze private.
Daarna maken we een functie genaamd: BerekenAantalDagen:
public static int BerekenAantalDagen() { }
Deze maken we static, met als returnwaarde een int.
In de functie gaan we de Datetime initialiseren, zodat we die kunnen gebruiken. Ook maken we een aantal variabelen aan doe we moeten gebruiken.
dt = new DateTime(Huidigjaar, Huidigemaand, HuidigeDag); int DagenResterend = 0;
Het .Net Framework heeft een handig functie genaamd: DaysInMonth waarmee je van het opgegeven jaar en de maand het aantal dagen kan bereken. We gaan dus met een loop door alle resterende maanden heen, om daarvan de dagen bij elkaar op te tellen:
for (int j = (dt.Month + 1); j <= 12; j++) { DagenResterend += DateTime.DaysInMonth(dt.Year, j); }
Echter hebben we deze maand ook nog, die niet mee geteld is. Omdat deze maand al begonnen is.
Dus we gebruiken de functie om de aantal dagen van deze maand te achterhalen, en daar trekken we de verstreken dag vanaf.
Dat tellen we dan weer op bij de variabel DagenResterend:
DagenResterend += (DateTime.DaysInMonth(dt.Year, dt.Month) - dt.Day);
Als laatste moeten we die waarde ook terug geven, dat doen we als laatste:
return (DagenResterend);
Nu hebben we de class om het te berekenen af.
Nu gaan we in de main (Program.cs) het laten weergeven.
Een handige functie laat ons een variabel en een tekst samenvoegen:
string tekst = String.Format("Nog {0} dagen tot het einde van het jaar!", test.BerekenAantalDagen());
Daarna schrijven we het weg, en wachten totdat er op een toets gedrukt wordt:
Console.WriteLine(tekst); Console.ReadKey();
Alles tot nu toe:
<Opgegeven naam (In mijn geval: test.cs)>.cs:
using System; using System.Collections.Generic; using System.Text; namespace test32 { class test { static int Huidigjaar = DateTime.Now.Year; static int Huidigemaand = DateTime.Now.Month; static int HuidigeDag = DateTime.Now.Day; static DateTime dt; public static int BerekenAantalDagen() { dt = new DateTime(Huidigjaar, Huidigemaand, HuidigeDag); int DagenResterend = 0; for (int j = (dt.Month + 1); j <= 12; j++) { DagenResterend += DateTime.DaysInMonth(dt.Year, j); } DagenResterend += (DateTime.DaysInMonth(dt.Year, dt.Month) - dt.Day); return (DagenResterend); } } }
En de main (program.cs):
using System; using System.Collections.Generic; using System.Text; namespace test32 { class Program { static void Main(string[] args) { string tekst = String.Format("Nog {0} dagen tot het einde van het jaar!", test.BerekenAantalDagen()); Console.WriteLine(tekst); Console.ReadKey(); } } }
Tot slot
Dit was de C# voor deze editie!
In de volgende editie laat ik zien hoe loops werken!
0 reacties
Recommended Comments
Er zijn geen reacties om weer te geven.