c functions methods tutorial with code examples
Tento výukový program vysvětluje, jaké jsou funkce v programování v C #, pomocí jednoduchých příkladů. Dozvíte se také základní rozdíly mezi funkcemi a metodami:
V našem předchozím kurzu jsme prozkoumali vše o Loops v C # spolu s jeho typy a příklady.
V tomto kurzu se zaměříme na funkce v C # s jednoduchými příklady pro vaše snadné pochopení.
Výukový program pro týmový server Visual Studio 2015
=> Cvičení C # ZDARMA pro všechny
Co se naučíte:
Úvod do funkcí v C #
V C # je funkce definována jako technika zabalení kódu k provedení určitého úkolu a následnému vrácení hodnoty. Je zcela odlišný od jeho předchůdců programovacích jazyků jako C nebo C ++. Zde funkce neexistují samostatně. Funkce jsou součástí přístupu OOP.
Funkce je členem třídy. Je to docela stejné jako metoda a někdy jsou oba termíny používány zaměnitelně. Existuje však několik základních rozdílů mezi metodami a funkcemi.
Rozdíl mezi metodou a funkcemi
I když jsou si oba podobné v mnoha smyslech a jazycích. Základní rozdíl mezi metodami a funkcemi spočívá v tom, že metoda přichází s prázdnotou jako návratovým typem, zatímco funkce má návratový typ.
Pokud se podíváte na rozdíly bez výběru konkrétního programovacího jazyka, pak lze funkci definovat jako část kódu, která má název a argumenty pro operace uvedené v závorkách. Veškerý argument funkce je ze své podstaty explicitní.
Na druhou stranu lze nyní metodu považovat za funkci, která funguje jako objekt. Jedná se o plán instance třídy. Metoda má vždy implicitní argumenty.
V tomto tutoriálu budeme kvůli pohodlí používat termíny metody a funkce zaměnitelně.
Funkce v C #
Funkce umožňuje programátorům přiložit část kódu a poté tuto část kódu zavolat z jiné části programu. Je to docela užitečné, když potřebujete spustit stejný kód z různých míst.
V C # mají funkce následující syntaxi:
() { return; }
Jak jsme diskutovali v předchozích lekcích, Access specifikuje, Parametry a návratové typy jsou volitelné. Vytvořme funkce s různými možnostmi.
Funkce s parametrem, ale bez návratového typu
Vytvořme funkci poskytnutím některých parametrů, aniž bychom cokoli vrátili.
class Program { // function without any return type declaration public void square(int nmbr) { int sq = nmbr * nmbr; Console.WriteLine('Square of the given number is ' + sq); // Don’t provide any return statement } public static void Main(string[] args) { Program pr = new Program(); // Creating a class Object pr.square( 2); //calling the method } } }
Ve výše uvedeném programu jsme vytvořili funkci „square“ zadáním celočíselného parametru, tj. „Nmbr“. Pak jsme v závorkách definovali fragment kódu, aniž bychom funkci poskytli jakýkoli návratový typ. Nakonec jsme vytvořili objekt třídy a nazvali jsme funkci „square“ předáním celočíselné hodnoty jako argumentu.
Výstup
Čtverec daného čísla je 4
Podívejme se na další příklad, abychom věci vyjasnili.
Funkce s oběma parametry Aa návratový typ
Udělejme několik změn ve výše uvedeném příkladu a přidejme návratový typ.
class Program { // function with integer return type declaration public int square(int nmbr) { int sq = nmbr * nmbr; // Lets provide a return statement return sq; } public static void Main(string[] args) { Program pr = new Program(); // Creating a class Object int rslt = pr.square( 2); //Calling the method and assigning the value to an integer type Console.WriteLine('Square of the given number is '+ rslt); //Printing the result } } }
Ve výše uvedeném programu jsme vytvořili funkci „square“ poskytnutím celočíselného parametru, tj. „Nmbr“ a celočíselného typu návratu. Pak jsme v závorkách definovali fragment kódu následovaný návratovým příkazem.
nástroj pro opravu a optimalizaci pc Windows 10
Uvnitř hlavní funkce jsme vytvořili objekt třídy a nazvali jsme funkci „square“ předáním celočíselné hodnoty jako argumentu. Protože je přidružený návratový typ, uložili jsme funkci do celočíselné proměnné. Nakonec jsme výsledek vytiskli.
Výstup
Čtverec daného čísla je 4
C # volání podle hodnoty
Když v programovacím jazyce C # zavoláme funkci, přebírá parametr z hlavní funkce pomocí objektu třídy. Potom objekt třídy uvnitř hlavní funkce zkopíruje funkci na hodnoty parametrů. Když použijeme volání podle hodnoty, i když v rámci metody dojde k některým změnám, tato změna nebude přenesena do původní proměnné.
Příklad:
class Program { public void square(int nmbr) { int nmbr = nmbr * nmbr; // Lets provide a return statement Console.WriteLine('Square of the given number is ' + nmbr); } public static void Main(string[] args) { int nmbr = 2; // Value assigned before calling function Program pr = new Program(); // Creating a class Object pr.square( nmbr); //calling the method and assigning the defined integer Console.WriteLine('The given number is ' + nmbr); //printing the value } } }
Pokud tedy provedeme výše uvedený program, najdeme následující výstup:
Čtverec daného čísla je 4
Dané číslo je 2
Vysvětlení
Ve výše uvedeném příkladu jsme definovali celočíselnou proměnnou „nmbr“ s hodnotou 2. Pak jsme zavolali funkci square předáním proměnné jako argumentu. Proměnná, kterou jsme předali, se tedy změnila na násobení sebe sama (kvůli fungování funkce) a vytiskla výsledek.
V hlavní funkci na konci vytiskneme proměnnou, kterou jsme definovali dříve. Jak vidíme, nedošlo k žádné změně hodnoty proměnné funkce (kde je definována), ale změnilo se to, když jsme ji předali jako argument pro jinou funkci.
VR sluchátka pro PC a PS4
Jak jsme již dříve diskutovali, když voláme podle hodnoty, jakákoli změna, která nastane u proměnné v metodě, nebude přenesena do původní proměnné. Když jsme tedy provedli tiskovou operaci s proměnnou, stále nám dává dříve definovaný výstup.
C # Call by Reference
C # nabízí klíčové slovo „ref“ pro předání argumentu jako referenčního typu pro funkci. Na rozdíl od volání podle hodnoty nepředá proměnnou funkci po vytvoření kopie proměnné.
Předává odkaz původní hodnoty na funkci, proto je jakákoli změna, ke které dojde v odkazované hodnotě, trvalá a projeví se také v původní hodnotě.
Použijme stejný příklad jako dříve, ale místo volání použijeme hodnotu, kterou použijeme jako odkaz pomocí odkazu:
class Program { public void square(int nmbr) { int nmbr = nmbr * nmbr; // Lets provide a return statement Console.WriteLine('Square of the given number is ' + nmbr); } public static void Main(string[] args) { int nmbr = 2; // Value assigned before calling function Program pr = new Program(); // Creating a class Object pr.square( ref nmbr); //calling by reference using ref keyword Console.WriteLine('The given number is ' + nmbr); //printing the value } } }
Pokud tedy provedeme program, najdeme následující výstup:
Čtverec daného čísla je 4
Dané číslo je 4
Vysvětlení
Ve výše uvedeném příkladu jsme definovali celočíselnou proměnnou „nmbr“ s hodnotou 2. Pak jsme zavolali funkci square předáním proměnné jako argumentu. Proměnná, kterou jsme předali, se tedy změnila na násobení sebe sama (kvůli operaci uvnitř funkce) a vytiskla výsledek, tj. 4.
V hlavní funkci na konci vytiskneme proměnnou, kterou jsme definovali dříve. Jak vidíme, došlo ke změnám v hodnotě proměnné ve funkci, kde byla odkazována a provozována. Když funkce provedla operaci a hodnota proměnné se změnila na 4, to samé se projeví ve výstupu konzoly.
Jak jsme diskutovali dříve, když voláme odkazem, jakákoli změna, která nastane u proměnné v metodě, bude přenesena do původní proměnné. Proto, když jsme provedli tiskovou operaci na proměnné, vytiskne aktuální výstup, tj. 4.
Závěr
V tomto kurzu jsme se dozvěděli o funkcích v programování v C #. Technika zabalení kódu se nazývá funkce.
V programovacích jazycích jako C a C ++ je funkce definována jako fragment kódu s názvem a argumenty k provedení operace popsané v závorkách.
Také jsme se naučili základní rozdíl mezi funkcemi a metodami a podívali jsme se na několik příkladů, které vysvětlují použití parametrů a návratových typů.
=> Podívejte se na podrobné návody C # pro školení zde
Doporučené čtení
- Výukový program Python DateTime s příklady
- Funkce řetězce Python
- Výukový program pro hlavní funkce Pythonu s praktickými příklady
- Výukový program SVN: Správa zdrojového kódu pomocí Subversion
- Funkce data a času v C ++ s příklady
- Výukový program pro želvy SVN: Revize v úložišti kódů
- Výukový program AWS CodeBuild: Extrahování kódu z Maven Build
- Výukový program pro skriptování prostředí Unix s příklady