3. osa C# Kordused, massiivid ja klassid.

1. Kordused (Loops)

1.1 While-lõng

  • Kasutatakse siis, kui ei teata täpset korduste arvu ette.
  • Tingimus kontrollitakse enne ploki läbimist.
int nr = 1;
while (nr <= 5)
{
    Console.WriteLine("Tere, {0}. matkaja!", nr);
    nr = nr + 1; // sama mis nr++
}


1.2 For-lõng

  • Kasutatakse tavaliselt, kui korduste arv on teada.
  • Struktuur: algväärtus; tingimus; samm
for (int nr = 1; nr <= 5; nr++)
{
    Console.WriteLine("Tere, {0}. matkaja!", nr);
}


1.3 Do-While-lõng

  • Plokk läbitakse vähemalt üks kord, tingimus kontrollitakse alles pärast esimest läbimist.
int nr = 0;
do
{
    Console.WriteLine("Tere, {0}. matkaja!", nr);
    nr++;
} while (nr != 5);


2. Klassid ja objektid

  • Klass on objektide mall.
  • Objekt on klassi eksemplar.
  • Klassil võivad olla andmeväljad ja meetodid.

Näide lihtsast klassist:

class Isik
{
    public string Nimi;
    public int Vanus;

    public void Tervita()
    {
        Console.WriteLine("Tere, minu nimi on " + Nimi);
    }
}

Klasside kasutamine:

List<Isik> inimesed = new List<Isik>();

for (int i = 0; i < 3; i++)
{
    Console.Write("Sisesta nimi: ");
    string nimi = Console.ReadLine();
    Console.Write("Sisesta vanus: ");
    int vanus = int.Parse(Console.ReadLine());

    Isik uusIsik = new Isik();
    uusIsik.Nimi = nimi;
    uusIsik.Vanus = vanus;

    inimesed.Add(uusIsik);
}

foreach (Isik isik in inimesed)
{
    isik.Tervita();
}


3. Massiivid (Arrays)

  • Massiiv on andmete kogum samast tüüpi.
  • Indekseerimine algab 0-st.

Näited:

string[] nimed = new string[8] {"A","B","C","D","E","F","G","H"};
nimed[2] = "Anna";

// While-lõng massiivi läbimiseks
int nr = 0;
while (nr < 8)
{
    Console.WriteLine("Tere, {0} õpilane", nimed[nr]);
    nr++;
}

// For-lõng massiivi läbimiseks
for (int i = 0; i < nimed.Length; i++)
{
    Console.WriteLine("Tere, {0} õpilane", nimed[i]);
}

// Foreach-lõng massiivi läbimiseks
foreach (var nimi in nimed)
{
    Console.WriteLine("Tere, {0} õpilane", nimi);
}

// Do-While-lõng massiivi läbimiseks
nr = 0;
do
{
    Console.WriteLine("Tere, {0} õpilane", nimed[nr]);
    nr++;
} while (nr != nimed.Length);


4. Tuple – mitme väärtuse hoidmine

  • Tuple võimaldab koondada erinevat tüüpi väärtusi ilma eraldi klassi loomata.

Näide:

Tuple<float, char, string> minuTuple = new Tuple<float, char, string>(3.14f, 'A', "Programmeerimine");

// Juurdepääs elementidele
Console.WriteLine("Esimene: " + minuTuple.Item1); // 3.14
Console.WriteLine("Teine: " + minuTuple.Item2);   // A
Console.WriteLine("Kolmas: " + minuTuple.Item3);  // Programmeerimine


5. Märksõnad ja nõuanded

  • while – kontroll ploki alguses, korduste arv võib olla teadmata.
  • for – kontroll alguses, korduste arv teada.
  • do-while – plokk käivitatakse vähemalt üks kord.
  • class – objektide mall.
  • object – klassi eksemplar.
  • List – dünaamiline kogum objekte.
  • array – fikseeritud suurusega andmekogum.
  • tuple – erinevat tüüpi väärtuste kogum ilma klassita.