Developedia
Developedia
C# Puska 2 - Vezérlés & Metódusok

C# Puska 2 - Vezérlés & Metódusok

Elágazások (Selection)

Ciklusok (Loop)

Metódusok (Method)

Blokkok és indentálás

Logo

Főoldal

Blog

Elmélet

3D Studio

Adatvédelmi nyilatkozat

GY.I.K.

Házirend

Szerző: Marosi Csaba / marosi.csaba@3d-studio.hu

DiscordGitHubLinkedIn
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;
}

// 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);
}
// 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!
// 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.
				}		
		}
}