Jump to content

Development Blog

  • artikelen
    44
  • reacties
    78
  • bezichtigingen
    26292

Editie 2: C# (CSharp) Tutorial


Crypteq

1166 bezichtigingen

Hoeveel procent heb je GTA Vice City uitgespeelt?  

91 leden hebben gestemd

  1. 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

logo_csharp_1.png

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.

  1. Start Visual Studio of Visual C# Express op.
  2. Ga naar File > New > Project
  3. Kies in dit dialoogvenster: Console Application
  4. Voer onderin een naam in voor je applicatie
  5. Rechtsboven in de hoek kies je voor .Net Framework 2.0 (de functies in de nieuwere versie's hebben we nu niet nodig)
  6. 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!

logo_csharp_1.png

0 reacties


Recommended Comments

Er zijn geen reacties om weer te geven.

Gast
Reactie toevoegen...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...