Elágazások (Selection)
int a = 3;
// Egyágú elágazás: if statement
if(a > 12)
{
Console.WrtieLine("A is higher then 12.");
}
// Ha egy elágazás valamely ága csak egy soros, a kapcsos zárójel kiírása opcionális
// Kétágú elágazás: if-eles statement
bool isEven = a % 2 == 0;
if (isEven)
Console.WrtieLine("A is an even number.");
else
Console.WrtieLine("A is an odd number.");
// Feltételes értékadás a ?: operátorral
// Logikai kifejezés ? (érték, ha igaz) : (érték, ha nem igaz)
string parity = isEven ? "even" : "odd";
Console.WrtieLine($"A is an {parity} number.");
// Többágú elágazás: else-if statement
if(a > 0)
Console.WrtieLine( "A is a positive number.");
else if(a < 0)
Console.WrtieLine( "A is negative number.");
else
Console.WrtieLine( "A and B equals");
// Többágú elágazás: switch statement
switch(a % 3)
{
case 0 :
Console.WrtieLine("Divisible by 3");
break; // ⚠️ break-et kötelező kiírni a switch minden ágában! ⚠️
case 1 :
Console.WrtieLine("Not divisible by Three. Remainder: One");
break;
default : // Opcionálisan adható a végén egy "egyébként" ág
Console.WrtieLine("Not divisible by Three. Remainder: Two");
break;
}
Ciklusok (Loop)
// Elöltesztelő ciklus: while loop
int num = 0;
while (num<100) // A ciklus elején van a kilépési feltétel
{
num+=num;
}
// Hátultesztelő ciklus: do-while loop
num = 0;
do // A ciklus törzse legalább egyszer biztos lefut.
{
num+=num;
}
while (num<100); // A ciklus hátujánál van a kilépési feltétel
// Számláló ciklus: for loop
for (var i = 0; i < 10; i++) // A for elöltesztelő: Elől van a kilépési feltétel
{ // Van egy ciklusváltozója. Itt most: i
Console.WrtieLine(i * i);
}
// Iteráló ciklus: foreach loop
foreach (char ch in "ABCDEFG") // Végiglépeget bizonyos típusok minden elemén
{ // Pl.: Tömb, List, string
Console.WrtieLine(ch);
}
Metódusok (Method)
// Azokat a METÓDUS-okat (METHOD), amiknek nincs visszatérési értéke,
// azaz void típusúak, ELJÁRÁS-oknak (ROUTINE) nevezzük.
void RoutineWithNoParameter() // Eljárás paraméterek nélkül
{
Console.WrtieLine("Hello World!");
// Nincs visszatérése, tehát eljárás
// Tesz valamit, de nem ad vissza semmit.
}
void Introduction(string name, int age) // Eljárás paraméterekkel
{
Console.WrtieLine($"Hello! My name is {name},and I'm {age} years old.");
// Nincs visszatérése, de vannak paraméterei, azaz bemenő adatai.
}
// Kilépni metódusokból a void kulcsszóval tudunk
// Ez az eljárás bemutatja a return kulcsszó használatát void típusú metódusokban:
void IsPrime(int n) // Ez az eljárás kiírja egy természetes számról, hogy prím-e
{
if(n < 0) // Ha a szám negatív, akkor nem kezeljük
{
Console.WrtieLine("I don't know if negative numbers are prime or not.");
return; // A return kulcsszóval kiléphetünk a metódusból
}
// Megnézzük az összes számot, 2 és a bemeneti változó közt:
for (int i = 2; i < n; i++)
{
if (n % i == 0) // Ha találunk egy számot ami osztója a bemeneti számnak,
{
Console.WrtieLine($"{n} is not a prime number."); // kiírjuk, hogy nem prím,
return; // és kilépünk az eljárásból a return kulcsszóval
}
}
// Egy osztó sem található, ezért a bemeneti szám prím.
Console.WrtieLine($"{n} is a prime number.");
}
// Azokat a METÓDUS-okat (METHOD), amiknek van visszatérési értéke,
// azaz NEM void típusúak, FÜGGVÉNY-eknek (FUNCTION) nevezzük.
int Sum(int a, int b) // Ez a függvény két természetes szám összegét adja vissza.
{
return a + b; // A return kulcsszóval tudunk visszatérni a metódusból
// Minden függvénynek van visszatérési értéke,
// ezért a return kulcsszó kötelező
}
string IsEven(int n) // Ez a függvény megmondja, hogy egy természetes szám páros-e.
{
// Egy függvény több ponton is tud visszatérni.
if(n % 2 == 0) // Ha a szám osztható 2-vel,
return "Even"; // visszatérünk a metódusból a "Even" értékkel,
else // különben
return "Odd"; // visszatérünk a metódusból az "Odd" értékkel.
}
// C#-ben a változók neve mindig kezdődjön kisbetűvel!
// C#-ben a metódusok neve mindig kezdődjön nagybetűvel!
Blokkok és indentálás
// Egy kapcsos zárójelen belüli részt blokknak hívunk.
// A blokkokkat egymásba ágyazhatjuk.
// Minden blokkal egy tab-bal (vagy indent-tel) beljebb ugrunk.
class SomeClass
{
void SomeMethod(int num)
{
if(num > 0)
{
for(int i = 0; i < num; i++) // Akkor is beljebb lépünk egy indent-tel,
Console.WrtieLine(i); // ha a kapcsos zárójelet nem írjuk ki,
// mert csak egysoros a blokk.
}
}
}