TOC

This article is currently in the process of being translated into Hungarian (~52% done).

Alapismeretek:

Functions

A függvény lehetővé teszi, hogy beágyazz egy kódrészletet, amire a programod egy másik részéből hivatkozhatsz. Viszonylag hamar kerülhetsz olyan helyzetbe, hogy szükséged lesz egy kódrészlet megismétlésére különböző helyekről, és itt jönnek a képbe a függvények. C#-ban ez a következőképpen néz ki:

<visibility> <return type> <name>(<parameters>)
{
<function code>
}

Ahhoz, hogy meghívj egy függvényt, csak le kell írd a nevét, majd "(" zárójel, ezután a paraméterei, ha vannak és ")" zárójel. Ezt láthatod itt is:

DoStuff();

Egy példa a DoStuff() függvényre:

public void DoStuff()
{
    Console.WriteLine("I'm doing something...");
}

Az első rész, "public" a függvény elérhetőségét jelenti és elhagyható. Ha nem definiálod, a függvény privát státuszú lesz. De erről majd később. A következő a visszatérési érték. Ez lehet bármilyen érvényes típus a C#-ban, vagy - ahogy most tettük - "void", ami azt jelenti, hogy egyáltalán nem ad vissza értéket. Ennek a függvénynek nincsenek paraméterei, ahogyan ezt az üres zárójelekből is láthatod, ezért ez egy kissé unalmas. Változtassunk rajta!

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    return result;
}

Majdnem mindent megváltoztattunk. A függvény most integer (egész szám) értékkel tér vissza, két paramétert tartalmaz (mindkettő integer) és ahelyett, hogy visszatérne valamilyen értékkel, számolást végez és annak az eredményét adja vissza. Ez azt jelenti, hogy a kódunk különböző részeiben összeadhatunk két számot egyszerűen az által, hogy meghívjuk ezt a függvényt, ahelyett, hogy minden esetben külön elvégeznénk a számítást. Bár ebben a példában nem sok időt és fáradtságot takarítottunk meg, de hidd el, hogy minél többet használod a C#-ot, annál jobban fogod szeretni a függvényeket. A fenti függvényt a következőképpen hívhatjuk meg:

int result = AddNumbers(10, 5);
Console.WriteLine(result);

As mentioned, this function actually returns something, and it has to, because we told C# that it's supposed to do so. When declaring anything else than void as a return type, we are forcing our self to return something. You can try removing the return line from the example above, and see the compiler complain:

'AddNumbers(int, int)': not all code paths return a value

The compiler is reminding us that we have a function which doesn't return something, although we promised. And the compiler is pretty clever! Instead of removing the line, try something like this:

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    if(result > 10)
    {
return result;
    }
}

You will see the exact same error - but why? Because there is no guarantee that our if statement will evaluate to true and the return line being executed. You can solve this by having a second, default like return statement in the end:

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    if(result > 10)
    {
return result;
    }
    return 0;
}

This will fix the problem we created for ourselves, and it will also show you that we can have more than one return statement in our function. As soon as a return statement is reached, the function is left and no more code in it is executed. In this case, it means that as long as the result is higher than 10, the "return 0" is never reached.

This article has been deprecated!

This article has been re-organized and updated to better match the rest of the tutorial.

We suggest that you read this article instead: Methods (functions)


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!