Kihagyás

Függvények és metódusok

A Python függvényeinek C#-ban a metódusok felelnek meg. Használhatunk beépített metódusokat, vagy írhatunk sajátot. A C#-ban a paraméterek és a visszatérési érték típusát meg kell adni.

Beépített metódusok

Matematikai műveletek

Feladat C# Python
Abszolút érték Math.Abs(-5) abs(-5)
Minimum, maximum Math.Min(5, 6), Math.Max(5, 6) min(5, 6), max(5, 6)
Négyzetgyök Math.Sqrt(25) math.sqrt(25)
Hatvány Math.Pow(2, 3) 2 ** 3
Lefelé, felfelé kerekítés Math.Floor(1.7), Math.Ceiling(1.2) math.floor(1.7), math.ceil(1.2)
Pí Math.PI math.pi

Kerekítés és véletlen szám

Math.Round eredménye szám, míg a F2 formátum csak a kiírt szöveget alakítja. A C# alapértelmezett kerekítése a pontos félértékeknél páros szám felé történik; ettől eltérő szabályt külön kell kérni.

double ertek = 1.67777;
Console.WriteLine(Math.Round(ertek, 2));
Console.WriteLine($"{ertek:F2}");

int dobas = Random.Shared.Next(1, 7); // 1 és 6 között
Console.WriteLine(dobas);

Pythonban véletlen egészhez random.randint(1, 6) használható; a határok itt mindketten benne vannak, míg a C# Next(1, 7) felső határa kizárt.

Sztringmetódusok

string szoveg = " Példa szöveg ";
Console.WriteLine(szoveg.Length);
Console.WriteLine(szoveg.ToUpper());
Console.WriteLine(szoveg.ToLower());
Console.WriteLine(szoveg.Trim());
Console.WriteLine(szoveg.Replace("Példa", "Másik"));
Console.WriteLine(szoveg.Contains("szöveg"));
Console.WriteLine(szoveg.IndexOf("szöveg"));

string[] szavak = szoveg.Trim().Split(' ');
string resz = szoveg.Substring(1, 5); // "Példa"

A Pythonban többnyire len(szoveg), upper(), lower(), strip(), replace(), in, find(), split() és szeletelés (szoveg[1:6]) felel meg ezeknek. A C#-ban a sztringek változatlanok: a metódusok új értéket adnak vissza.

Karaktervizsgálat

char betu = 'A';
Console.WriteLine(char.IsLetter(betu));     // true
Console.WriteLine(char.IsDigit(betu));      // false
Console.WriteLine(char.IsUpper(betu));      // true
Console.WriteLine(char.ToLower(betu));      // a
Console.WriteLine(char.IsWhiteSpace(' '));  // true

Pythonban egykarakteres sztringen például isalpha(), isdigit(), isupper() használható.

Dátum és idő

A DateOnly csak dátumot, a TimeOnly csak időt, a DateTime dátumot és időt tárol. A Python date, time és datetime osztályai hasonló szerepűek.

DateOnly datum = new(2026, 9, 27);
DateOnly ma = DateOnly.FromDateTime(DateTime.Today);
Console.WriteLine($"Év: {datum.Year}, hónap: {datum.Month}, nap: {datum.Day}");
DateOnly jovoHet = datum.AddDays(7); // az eredetit nem módosítja

TimeOnly ido = new(12, 30);
TimeOnly kesobb = ido.AddHours(1);
Console.WriteLine($"{ido:HH:mm} → {kesobb:HH:mm}");

DateTime most = DateTime.Now;
DateTime holnap = most.AddDays(1);
Console.WriteLine(holnap);

Ha különböző időzónák között kell időpontokat tárolni vagy átadni, a DateTimeOffset általában egyértelműbb választás.

Saját metódusok

A modern konzolprojekt felső szintű utasításai után helyi függvényt írhatunk. A void azt jelenti, hogy nincs visszatérési érték.

Program.cs
Koszon("Anna");
Console.WriteLine($"Összeg: {Osszead(3, 4)}");

void Koszon(string nev)
{
    Console.WriteLine($"Szia, {nev}!");
}

int Osszead(int a, int b)
{
    return a + b;
}
def koszon(nev):
    print(f"Szia, {nev}!")

def osszead(a, b):
    return a + b

koszon("Anna")
print(f"Összeg: {osszead(3, 4)}")

Alapértelmezett paraméter

void Koszon(string nev = "vendég")
{
    Console.WriteLine($"Szia, {nev}!");
}

Koszon();
Koszon("Anna");

Osztályon belül a metódus alakja például public static int Osszead(int a, int b). A static azt jelenti, hogy példány létrehozása nélkül hívható. A példányhoz tartozó metódusokat az OOP-fejezetben használjuk.

Feladatok

  1. Kérj be vesszővel elválasztott neveket, majd a Split(',') segítségével írd ki őket külön sorba!
  2. Írj Atlag nevű metódust, amely két double paraméterből visszaadja az átlagot!
  3. Írj Paros nevű metódust, amely egy egész számról bool értékben közli, hogy páros-e!