C#

C# Valikute konstruktsionid:

Startclass
            Console.WriteLine("Mis temperatuur praegu on?");
            try
            {
                float tem = float.Parse(Console.ReadLine());
                Console.WriteLine(Osa1_funktsioonid.Temperatuut(tem));
            }
            catch (Exception ü)
            {
                Console.WriteLine(ü);
            }

Funktsioonid
        public static string Temperatuut(float arv)
        {
            string a = "";
            if (arv > 18)
            {
                a = "Temperatuur on ruumi jaoks liiga kõrge.";
            }
            else
            {
                a = "Temperatuur on korras.";
            }
            return a;
        }

 C# Kordused, massiivid ja klassid

Korduses

while
public class Kordus1{
   public static void Main(string[] arg){
      int nr=1;
      while(nr<=5){
         Console.WriteLine("Tere, {0}. matkaja!", nr);
         nr=nr+1;}}}
for
for(int nr=1; nr<=5; nr++){
         Console.WriteLine("Tere, {0}. matkaja!", nr);
      }
do {} while
int nr=0;
do{
         Console.WriteLine("Tere, {0}. matkaja!", nr);
         nr=nr+1;
      } while(nr!=5);

Class

class Isik
{
    public string Nimi;
    public int Vanus;

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

Tuple<T1, T2, T3>

 Tuple<float, char, string> minuTuple = new Tuple<float, char, string>(3.14f, 'A', "Programmeerimine");
Console.WriteLine("Esimene: " + minuTuple.Item1); // 3.14
Console.WriteLine("Teine: " + minuTuple.Item2);   // A
Console.WriteLine("Kolmas: " + minuTuple.Item3);  // Programmeerimine

Näide:

Startclass
int[] arvud = new int[4];
for (int i = 0; i < 4; i++)
{
    Console.WriteLine("Sisetsa üks arv: ");
    try
    {
        int arv = int.Parse(Console.ReadLine());
        if (arv < 1 || arv > 9)
        {
            Console.WriteLine("Palun sisesta arv 1-9");
            i--;
            continue;
        }
        arvud[i] = arv;
    }
    catch (Exception e)
    {
        i--;
        Console.WriteLine("Vale sisend");
    }
}
Console.WriteLine(Osa3_Funktsioonid.SuurimNeliarv(arvud));
Funktsioonid
        public static int SuurimNeliarv(int[] arvud)
        {
            Array.Sort(arvud);
            Array.Reverse(arvud);
            int summa = arvud[0] * 1000 + arvud[1] * 100 + arvud[2] * 10 + arvud[3];
            return summa;
        }

Failid

Faili kirjutamine
try
{
    string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Kuud.txt"); //@"..\..\..\Kuud.txt"
    StreamWriter text = new StreamWriter(path, true); // true = lisa lõppu
    Console.WriteLine("Sisesta mingi tekst: ");
    string lause = Console.ReadLine();
    text.WriteLine(lause);
    text.Close();
}
catch (Exception)
{
    Console.WriteLine("Mingi viga failiga");
}
Faili lugemine
try
{
    string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Kuud.txt");
    StreamReader text = new StreamReader(path);
    string laused = text.ReadToEnd();
    text.Close();
    Console.WriteLine(laused); 
}
catch (Exception)
{
    Console.WriteLine("Mingi viga failiga, ei saa faili lugeda");
}
 Ridade lugemine List<string> abil
List<string> kuude_list = new List<string>();
try
{
    string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Kuud.txt");
    foreach (string rida in File.ReadAllLines(path))
    {
        kuude_list.Add(rida);
    }
}
catch (Exception)
{
    Console.WriteLine("Viga failiga!");
}
 Listi muutmine ja kuvamine
foreach (string kuu in kuude_list)
{
    Console.WriteLine(kuu);
}

// Eemalda "Juuni"
kuude_list.Remove("Juuni");

// Muuda esimest elementi
if (kuude_list.Count > 0)
    kuude_list[0] = "Veeel kuuu";

Console.WriteLine("--------------Kustutasime juuni-----------");

foreach (string kuu in kuude_list)
{
    Console.WriteLine(kuu);
}
 Otsing nimekirjast
Console.WriteLine("Sisesta kuu nimi, mida otsida:");
string otsitav = Console.ReadLine();

if (kuude_list.Contains(otsitav))
    Console.WriteLine("Kuu " + otsitav + " on olemas.");
else
    Console.WriteLine("Sellist kuud pole.");

Listi salvestamine tagasi faili
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Kuud.txt");
File.WriteAllLines(path, kuude_list);
Console.WriteLine("Andmed on salvestatud.");

C# Andmestruktuurid ja nendega töötamine

ArrayList (System.Collections)
Add() – lisab elemendi lõppu
Contains() – kontrollib, kas element on olemas
Count – tagastab elementide arvu
Count – tagastab elementide arvu
Insert(index, item) – lisab elemendi kindlale kohale
IndexOf() – otsib elemendi indeksit
Sort() – järjestab elemendid kasvavalt
Näide:
ArrayList nimed = new ArrayList();
nimed.Add("Kati");
nimed.Add("Mati");
nimed.Add("Juku");

if (nimed.Contains("Mati"))
    Console.WriteLine("Mati olemas");

Console.WriteLine("Nimesid kokku: " + nimed.Count);

nimed.Insert(1, "Sass");

Console.WriteLine("Mati indeks: " + nimed.IndexOf("Mati"));
Console.WriteLine("Mari indeks: " + nimed.IndexOf("Mari"));

foreach (string nimi in nimed)
    Console.WriteLine(nimi);
List (System.Collections.Generic)List (System.Collections.Generic)
Add()AddRange() – lisa element või mitu
IndexOf()Remove()RemoveAt()
Insert(index, item) – lisa kindlasse kohta
Sort() – sorteerib andmed
BinarySearch() – kiire otsing (peab olema sorteeritud)
Näide:
class Person
{
    public string Name { get; set; }
}

List<Person> people = new List<Person>();
people.Add(new Person() { Name = "Kadi" });
people.Add(new Person() { Name = "Mirje" });

foreach (Person p in people)
    Console.WriteLine(p.Name);
LinkedList (System.Collections.Generic)
AddFirst(value)AddLast(value)
AddBefore(node, value)AddAfter(node, value)
RemoveFirst()RemoveLast()Remove(value)
LinkedList<int> loetelu = new LinkedList<int>();
loetelu.AddLast(5);
loetelu.AddLast(3);
loetelu.AddFirst(0);

foreach (int arv in loetelu)
    Console.WriteLine(arv);

loetelu.RemoveFirst();
loetelu.RemoveLast();
loetelu.AddLast(555);
loetelu.Remove(555);
Dictionary<TKey, TValue> – Sõnastik
Add(key, value)
Remove(key)
ContainsKey(key)ContainsValue(value)
KeysValues
dictionary[key] = newValue;
Näide
Dictionary<int, string> riigid = new Dictionary<int, string>();
riigid.Add(1, "Hiina");
riigid.Add(2, "Eesti");
riigid.Add(3, "Itaalia");

foreach (var paar in riigid)
    Console.WriteLine($"{paar.Key} - {paar.Value}");

string pealinn = riigid[2];
riigid[2] = "Eestimaa";
riigid.Remove(3);

Näide:

Startclass
        Console.WriteLine("2. Ülesanne");
        Dictionary<string, string> maakonnad = new Dictionary<string, string>();
        maakonnad.Add("Harju maakond", "Tallinn");
        maakonnad.Add("Hiiu maakond", "Kärdla");
        maakonnad.Add("Ida-Viru maakond", "Jõhvi");
        maakonnad.Add("Järva maakond", "Paide");
        maakonnad.Add("Lääne maakond", "Haapsalu");
        Console.WriteLine("Tere! Tahad teada, mis maakonnad on ja mis nende pealinnad?");
        string v = Console.ReadLine();
        if (v.ToLower() == "jah")
        {
            Console.WriteLine("Kui tahad teada linna, sisesta maakond, aga kui tahad teada maakonda, sisesta linn.");
            string vastus = Console.ReadLine();
            Funktsioonid.Maakond_linnad(vastus, maakonnad);
            Funktsioonid.Mang(maakonnad);
        }
        else if (v.ToLower() == "ei")
        {
            Console.WriteLine("Okei, head päeva!");
        }
        else
        {
            Console.WriteLine("Palun vasta jah või ei!");
        }
Funktsioonid
        public static void Maakond_linnad(string vastus, Dictionary<string,string> nimi)
        {
            if (vastus=="maakond")
            {
                Console.WriteLine("Sisesta maakond: ");
                string maakond = Console.ReadLine();
                if (nimi.ContainsKey(maakond))
                {
                     Console.WriteLine(nimi[maakond]);
                }
                else
                {
                    Console.WriteLine("Lisame su linna ja maakonna");
                    Console.Write("Sisesta maakond: ");
                    string maakond1 = Console.ReadLine();
                    Console.Write("Sisesta linn: ");
                    string linn1 = Console.ReadLine();
                    nimi.Add(maakond1, linn1);
                    Console.WriteLine("Andmed on lisatud!");
                }
            }
            else if (vastus=="linn")
            {
                Console.WriteLine("Sisesta linn: ");
                string linn = Console.ReadLine();
                if (nimi.ContainsValue(linn))
                {
                    foreach (var paar in nimi)
                    {
                        if (paar.Value == linn)
                            Console.WriteLine(paar.Key);
                    }
                }
                else
                {
                    Console.WriteLine("Lisame su linna ja maakonna");
                    Console.Write("Sisesta maakond: ");
                    string maakond = Console.ReadLine();    
                    Console.Write("Sisesta linn: ");
                    string linn1 = Console.ReadLine();
                    nimi.Add(maakond, linn1);
                    Console.WriteLine("Andmed on lisatud!");
                }
            }
            else
            {
                Console.WriteLine("Viga!");
            }
        }
        public static void Mang(Dictionary<string, string> nimi)
        {
            Console.WriteLine("Kas sa tahad mängida mängu? (jah/ei)");
            string vastus = Console.ReadLine().ToLower();
            if (vastus == "jah")
            {
                Console.WriteLine("Ma kirjutan sulle mingi maakonna ja sina pead arvama, mis on selle maakonna pealinn.");
                int oige = 0;
                for (int i = 0; i < 3; i++)
                {
                    Random rand = new Random();
                    int index = rand.Next(nimi.Count);
                    var paar = nimi.ElementAt(index);
                    Console.WriteLine($"Mis on {paar.Key} pealinn?");
                    string vastus1 = Console.ReadLine();
                    if (vastus1.ToLower() == paar.Value.ToLower())
                    {
                        Console.WriteLine("Õige vastus!");
                        oige++;
                    }
                    else
                    {
                        Console.WriteLine($"Vale vastus! Õige vastus on {paar.Value}");
                    }
                }
                float skoor = (float)oige / 3 * 100;
                Console.WriteLine($"Sinu skoor on {skoor}.");
                Console.WriteLine("Mäng läbi! Loodan, et sulle meeldis!");
            }
            else if (vastus == "ei")
            {
                Console.WriteLine("Okei, head päeva!");
            }
            else
            {
                Console.WriteLine("Palun vasta jah või ei!");
            }
        }
    }