Programovanie

Ako používať pomenované a voliteľné parametre v C #

Spoločnosť Microsoft predstavila podporu pomenovaných a voliteľných parametrov v C # 4.0. Aj keď sa pomenovaný parameter používa na zadanie argumentu na základe názvu argumentu a nie polohy, je možné použiť voliteľný parameter na vynechanie jedného alebo viacerých parametrov v podpise metódy. Parametre metódy môžu byť povinné alebo voliteľné v závislosti od toho, či je potrebné pri volaní metódy odovzdať hodnotu týmto parametrom alebo nie.

Je potrebné poznamenať, že pomenované a voliteľné parametre je možné používať nielen s metódami, ale aj s indexátormi a delegátmi. Tento článok pojednáva o týchto dvoch výkonných funkciách programovacieho jazyka C # a o tom, ako s nimi môžeme pracovať.

Ak chcete pracovať s príkladmi kódu uvedenými v tomto článku, mali by ste mať vo svojom systéme nainštalovanú aplikáciu Visual Studio 2019. Ak ešte nemáte kópiu, môžete si tu stiahnuť Visual Studio 2019.

Vytvorte projekt konzolovej aplikácie v Visual Studio

Najprv si vytvoríme projekt konzolovej aplikácie .NET Core v Visual Studio. Za predpokladu, že je vo vašom systéme nainštalované Visual Studio 2019, vytvorte nový projekt konzolovej aplikácie .NET Core v Visual Studio podľa pokynov uvedených nižšie.

  1. Spustite Visual Studio IDE.
  2. Kliknite na „Vytvoriť nový projekt“.
  3. V okne „Vytvoriť nový projekt“ vyberte zo zobrazeného zoznamu šablón „Console App (.NET Core)“.
  4. Kliknite na Ďalej.
  5. V nasledujúcom okne „Konfigurácia nového projektu“ zadajte názov a umiestnenie nového projektu.
  6. Kliknite na tlačidlo Vytvoriť.

Týmto sa vytvorí nový projekt konzolovej aplikácie .NET Core v Visual Studio 2019. Tento projekt použijeme na prácu s pomenovanými a voliteľnými parametrami v ďalších častiach tohto článku.

Použite pomenované parametre v C #

Keď voláte metódu, konštruktor, indexátor alebo delegáta, musíte odovzdať argumenty pre požadované parametre, môžete však vynechať argumenty pre parametre, ktoré boli definované ako voliteľné parametre.

Možno budete musieť zavolať metódu, ktorá má veľa parametrov. A aj keď voláte takúto metódu iba s požadovanými parametrami, je niekedy veľmi ťažké pochopiť, ktorý argument sa mapuje na ktorý parameter. Tu prichádzajú na pomoc pomenované argumenty.

Pomenované argumenty v programovacom jazyku C # sa používajú na priradenie názvu argumentu metódy k jej hodnote - t. J. Hodnote odovzdanej ako argument pri volaní metódy. Je potrebné poznamenať, že pri použití pomenovaného argumentu sa argumenty hodnotia v rovnakom poradí, v akom boli odovzdané.

Pozrime sa na príklad. Do triedy Program vo vašom novom projekte aplikácie konzoly napíšte nasledujúcu metódu s názvom Pridať.

public static int Add (int x, int y, int z, int a, int b, int c)

{

návrat x + y + z + a + b + c;

}

Predpokladajme, že voláte metódu Add, ako je uvedené v útržku kódu nižšie.

static void Main (reťazec [] args)

{

Pridať (5, 10);

}

Vyššie uvedený kód nebude fungovať, pretože v podpise metódy Add je šesť požadovaných parametrov (žiadny z nich nie sú voliteľnými parametrami), ale zadali ste iba dva argumenty. Zobrazí sa vám nasledujúca chyba.

Preto ste nútení odovzdávať hodnoty do každého z parametrov, aby ste uspokojili hovor, ako je uvedené v útržku kódu uvedenom nižšie.

static void Main (reťazec [] args)

{

Pridať (5, 10, 8, 2, 3, 6);

}

Veci sa komplikujú, keď máte v parametroch metódy kombináciu dátových typov. Na ilustráciu si upravme našu metódu pridania, ako je uvedené v nasledujúcom útržku kódu.

public static int Add (int x, int y, int z, double a, double b, double c)

{

návrat x + y + z + Convert.ToInt32 (a) + Convert.ToInt32 (b) + Convert.ToInt32 (c);

}

Pamätať si dátové typy parametrov, ako aj ich polohu, je ťažkopádne. Riešením je využiť výhody pomenovaných argumentov a odovzdať hodnoty metóde, ako je uvedené v útržku kódu uvedenom nižšie.

static void Main (reťazec [] args)

{

Pridať (x: 5, y: 10, z: 8, a: 2,0, b: 3,0, c: 6,0);

}

Môžete dokonca zmeniť poradie pomenovaných argumentov, ako je uvedené v útržku kódu uvedenom nižšie.

static void Main (reťazec [] args)

{

Add (z: 8, x: 5, y: 10, c: 6, a: 2,0, b: 3,0);

}

Pokiaľ pomenujete argumenty, môžete ich odovzdať v ľubovoľnom poradí a kompilátor neoznačí žiadnu chybu - t. J. V C # je to úplne platné.

Použite voliteľné parametre v C #

Voliteľné parametre v programovacom jazyku C # vám umožňujú určiť argumenty v podpise metódy, ktoré volajúci metódy môže voľne vynechať. Inými slovami, zatiaľ čo musíte zadať hodnoty pre požadované parametre, môžete sa rozhodnúť nezadať hodnoty pre voliteľné parametre. V niektorých prípadoch môže mať voliteľný parameter priradenú aj predvolenú hodnotu.

Predvolená hodnota voliteľného parametra môže mať ktorýkoľvek z troch druhov hodnôt: konštantný výraz, výraz, ktorý má formu typu hodnoty, alebo výraz, ktorý má formu predvoleného (v), kde v je hodnota typu.

Metóda Add zobrazená v nasledujúcom útržku kódu ilustruje, ako môžete určiť voliteľné argumenty pre metódu v C #.

public static int Add (int x, int y = 0, int z = 0)

{

návrat x + y + z;

}

A takto môžete nazvať metódu Add.

Pridať (10);

Pretože dva z parametrov v metóde Add sú voliteľné, môžete metóde pri jej volaní odovzdať jednu celočíselnú hodnotu. Postupujte podľa správneho poradia definovania parametrov v metóde. Požadované parametre by mali byť na prvom mieste, za nimi nasledujú voliteľné parametre, ak existujú.

Pomenované a voliteľné parametre boli zavedené do programovacieho jazyka C # s cieľom zlepšiť interoperabilitu s rozhraniami COM API. Používanie pomenovaných parametrov môže zlepšiť čitateľnosť zdrojového kódu. Môžete tiež využiť voliteľné parametre ako náhradu za použitie preťažených metód, keď je definícia metódy totožná.

Ako urobiť viac v C #:

  • Ako používať plynulé rozhrania a reťazenie metód v C #
  • Ako testovať statické metódy v C #
  • Ako refaktorovať objekty Boha v C #
  • Ako používať ValueTask v C #
  • Ako používať nemennosť v C.
  • Ako používať const, readonly a static v C #
  • Ako používať dátové anotácie v C #
  • Ako pracovať s identifikátormi GUID v C # 8
  • Kedy použiť abstraktné rozhranie vs. rozhranie v C #
  • Ako pracovať s AutoMapperom v C #
  • Ako používať výrazy lambda v C #
  • Ako pracovať s delegátmi Action, Func a Predicate v C #
  • Ako pracovať s delegátmi v C #
  • Ako implementovať jednoduchý záznamník v C #
  • Ako pracovať s atribútmi v C #
  • Ako pracovať s log4net v C #
  • Ako implementovať vzor návrhu úložiska v C #
  • Ako pracovať s odrazom v C #
  • Ako pracovať so súborovým systémom v C #
  • Ako vykonať lenivú inicializáciu v C #
  • Ako pracovať s MSMQ v C #
  • Ako pracovať s metódami rozšírenia v C #
  • Ako na nás výrazy lambda v C #
  • Kedy použiť volatile kľúčové slovo v C #
  • Ako používať kľúčové slovo výťažku v C #
  • Ako implementovať polymorfizmus v C #
  • Ako zostaviť vlastný plánovač úloh v C #
  • Ako pracovať s RabbitMQ v C #
  • Ako pracovať s n-ticí v C #
  • Skúmanie virtuálnych a abstraktných metód v C #
  • Ako používať Dapper ORM v C #
  • Ako používať návrhový vzor mušej váhy v C #
$config[zx-auto] not found$config[zx-overlay] not found