1.osa – C# põhikonstruktsioonid: projekti loomine, ikooni lisamine ja arvutamine
Teooria lühidalt
- C# programm koosneb klassidest ja meetoditest.
- Programm algab meetodist
Main(). - Muutujad peavad olema deklareeritud konkreetse andmetüübiga (nt
int,double,string). - Matemaatilised tehted toimivad numbrimuutujatega.
- Ikooni lisamine toimub projekti omadustes (Project → Properties → Application → Icon and manifest).
Kasutatavad funktsioonid ja süntaks
// Muutuja loomine
int arv = 10;
double komaArv = 5.6;
string tekst = "Tere";
// Väljundi kuvamine
Console.WriteLine("Tere maailm");
// Sisendi lugemine
string sisend = Console.ReadLine();
// Teksti teisendamine arvuks
int number = int.Parse(sisend);
double dNumber = double.Parse(sisend);
// Matemaatilised tehted
int tulemus = 5 + 3; // Liitmine
int vahe = 10 - 2; // Lahutamine
int korrutis = 4 * 2; // Korrutamine
int jagatis = 8 / 2; // Jagamine
int jaak = 10 % 3; // Jääk
// Matemaatikafunktsioonid (System.Math)
double ruutjuur = Math.Sqrt(25);
double astendamine = Math.Pow(2, 3); // 2 astmel 3
double absoluut = Math.Abs(-10);
Koodinäide
using System;
class Program
{
static void Main()
{
Console.WriteLine("Sisesta kaks arvu:");
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
int summa = a + b;
Console.WriteLine("Summa on: " + summa);
}
}
2.osa – C# Valikute konstruktsioonid
Teooria lühidalt
- Valikukonstruktsioone kasutatakse tingimusliku loogika rakendamiseks.
- Kasutatakse võtmesõnu:
if,else if,else,switch. - Võimaldab programmil teha otsuseid sisendi või muutujate väärtuste põhjal.
Olulised konstruktsioonid ja süntaks
if (tingimus)
{
// Kood, kui tingimus on tõene
}
else if (teineTingimus)
{
// Kood, kui teine tingimus on tõene
}
else
{
// Kood, kui ükski tingimus pole tõene
}
switch-lausete näide:
switch (valik)
{
case 1:
Console.WriteLine("Valisid ühe");
break;
case 2:
Console.WriteLine("Valisid kaks");
break;
default:
Console.WriteLine("Tundmatu valik");
break;
}
Kasulikud võrdlusoperaatorid:
==– võrdne!=– mitte võrdne>– suurem kui<– väiksem kui>=,<=– suurem/väiksem või võrdne&&– JA (mõlemad tingimused peavad kehtima)||– VÕI (vähemalt üks kehtib)
Koodinäide
using System;
class Program
{
static void Main()
{
Console.WriteLine("Sisesta vanus:");
int vanus = int.Parse(Console.ReadLine());
if (vanus >= 18)
{
Console.WriteLine("Oled täisealine.");
}
else
{
Console.WriteLine("Oled alaealine.");
}
}
}
3. osa – C# Kordused, massiivid ja klassid
Teooria
Tsükleid kasutatakse korduvate tegevuste jaoks. C#-is kasutatakse sageli kolme tüüpi tsükleid:
for– kui tead täpset korduste arvuwhile– kuni tingimus kehtibdo...while– vähemalt üks kord täidetakse
Süntaks ja näited
Kordused
// for-tsükkel
for (int i = 0; i < 5; i++)
{
Console.WriteLine("i = " + i);
}
// while-tsükkel
int j = 0;
while (j < 5)
{
Console.WriteLine("j = " + j);
j++;
}
// do-while
int k = 0;
do
{
Console.WriteLine("k = " + k);
k++;
}
while (k < 5);
Massiivid
Massiiv on fikseeritud pikkusega andmestruktuur, mis hoiab üht tüüpi andmeid järjestikuselt.
int[] numbrid = {1, 2, 3, 4, 5};
Console.WriteLine(numbrid[0]); // Väljund: 1
// Läbimine for-tsükliga
for (int i = 0; i < numbrid.Length; i++)
{
Console.WriteLine(numbrid[i]);
}
Klassid
Klassid on objektorienteeritud programmeerimise põhikomponendid. Need kirjeldavad objekti omadusi (väljad) ja käitumist (meetodid).
class Auto
{
public string mark;
public int aasta;
public void Tervita()
{
Console.WriteLine("Tere! Olen " + mark + ", aastast " + aasta);
}
}
class Program
{
static void Main()
{
Auto minuAuto = new Auto();
minuAuto.mark = "Toyota";
minuAuto.aasta = 2015;
minuAuto.Tervita(); // Väljund: Tere! Olen Toyota, aastast 2015
}
}
4.osa – C# Failitöötlus
Teooria
Failitöötlus C#-is võimaldab andmete salvestamist ja lugemist tekstifailidest (.txt jne). Kasutatakse peamiselt System.IO nimiruumi.
Olulisemad funktsioonid
string tekst = File.ReadAllText("failinimi.txt");
string[] read = File.ReadAllLines("failinimi.txt");
Faili kirjutamine
File.WriteAllText("uusfail.txt", "Tere maailm!");
File.AppendAllText("logi.txt", "Lisa see lõppu\n");
Faili ridade kaupa läbimine
foreach (string rida in File.ReadLines("fail.txt"))
{
Console.WriteLine(rida);
}
Koodinäide – Failist lugemine ja faili kirjutamine
using System;
using System.IO;
class Program
{
static void Main()
{
// Kirjutame faili
File.WriteAllText("andmed.txt", "Tere! See on test.");
// Loeme faili sisu
string sisu = File.ReadAllText("andmed.txt");
Console.WriteLine("Faili sisu: " + sisu);
}
}
5.osa – C# Kollektsioonid: List ja Dictionary
Teooria
Kollektsioonid võimaldavad dünaamiliselt hallata andmeid, erinevalt massiividest, mille suurus on fikseeritud.
- List – järjestatud andmekogu, kuhu saab elemente lisada, eemaldada ja sorteerida.
- Dictionary – võtme-väärtuse paaridel põhinev andmestruktuur, kiire otsinguga.
List – dünaamiline nimekiri
Tüüpilised meetodid
List<string> nimed = new List<string>();
nimed.Add("Mari"); // Lisa element
nimed.Remove("Mari"); // Eemalda element
bool sisaldab = nimed.Contains("Mari"); // Kontrolli olemasolu
nimed.Sort(); // Sorteeri
int kogus = nimed.Count; // Elementide arv
foreach (string nimi in nimed)
{
Console.WriteLine(nimi);
}
Dictionary <TKey, TValue> – võtme-väärtuse paarid
Tüüpilised meetodid
Dictionary<string, int> hinnad = new Dictionary<string, int>();
hinnad.Add("Õun", 2);
hinnad["Banaan"] = 3; // Võib ka otse määrata
hinnad.Remove("Õun");
bool olemas = hinnad.ContainsKey("Õun");
foreach (var paar in hinnad)
{
Console.WriteLine(paar.Key + ": " + paar.Value);
}
Koodinäide – List ja Dictionary koos
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> tooted = new List<string>() { "Piim", "Leib", "Juust" };
Dictionary<string, double> hinnad = new Dictionary<string, double>()
{
{"Piim", 1.2 },
{"Leib", 0.8 },
{"Juust", 2.5 }
};
foreach (string toode in tooted)
{
Console.WriteLine(toode + " maksab " + hinnad[toode] + " €");
}
}
}