Ohjelmointi

Nimettyjen ja valinnaisten parametrien käyttäminen C #: ssä

Microsoft esitteli nimettyjen ja valinnaisten parametrien tuen C # 4.0: ssa. Vaikka nimettyä parametria käytetään määrittämään argumentti argumentin nimen eikä sijainnin perusteella, valinnaista parametria voidaan käyttää jättämään yksi tai useampi parametri menetelmän allekirjoituksesta. Menetelmän parametrit voivat olla joko pakollisia tai valinnaisia ​​riippuen siitä, onko sinun välitettävä arvo näille parametreille, kun menetelmää kutsutaan.

On huomattava, että nimettyjä ja valinnaisia ​​parametreja voidaan käyttää paitsi menetelmien lisäksi myös indeksoijien ja edustajien kanssa. Tässä artikkelissa käsitellään näitä kahta C #-ohjelmointikielen tehokasta ominaisuutta ja miten voimme työskennellä niiden kanssa.

Jotta voit työskennellä tässä artikkelissa annettujen koodiesimerkkien kanssa, järjestelmässäsi on oltava asennettuna Visual Studio 2019. Jos sinulla ei vielä ole kopiota, voit ladata Visual Studio 2019 täältä.

Luo konsolisovellusprojekti Visual Studiossa

Ensinnäkin, luodaan .NET Core -konsolisovellusprojekti Visual Studiossa. Olettaen, että Visual Studio 2019 on asennettu järjestelmään, luo uusi .NET Core -konsolisovellusprojekti Visual Studiossa noudattamalla seuraavia ohjeita.

  1. Käynnistä Visual Studio IDE.
  2. Napsauta Luo uusi projekti.
  3. Valitse Luo uusi projekti -ikkunassa ”Console App (.NET Core)” näytetystä malliluettelosta.
  4. Napsauta Seuraava.
  5. Määritä seuraavan projektin nimi ja sijainti uuden Konfiguroi uusi projekti -ikkunassa.
  6. Napsauta Luo.

Tämä luo uuden .NET Core -konsolisovellushankkeen Visual Studio 2019: ssä. Käytämme tätä projektia toimimaan nimettyjen ja valinnaisten parametrien kanssa tämän artikkelin seuraavissa osissa.

Käytä nimettyjä parametreja C #: ssä

Kun soitat menetelmälle, rakentajalle, indeksoijalle tai valtuutetulle, sinun on annettava argumentit vaadituille parametreille, mutta voit jättää argumentit pois parametreille, jotka on määritelty valinnaisiksi parametreiksi.

Saatat joutua usein kutsumaan menetelmää, jolla on monia parametreja. Ja vaikka soitatkin sellaiselle menetelmälle, jolla on vain vaaditut parametrit, on joskus äärimmäisen vaikeaa ymmärtää, mikä argumentti yhdistää minkä parametrin. Tässä nimetty argumentti tulee auttamaan.

Nimettyjä argumentteja ohjelmointikielellä C # käytetään yhdistämään menetelmän argumentin nimi sen arvoon - ts. Argumenttiin syötetty arvo menetelmää kutsuttaessa. On huomattava, että nimettyä argumenttia käytettäessä argumentit arvioidaan samassa järjestyksessä kuin ne välitettiin.

Katsotaanpa esimerkkiä. Kirjoita seuraava menetelmä nimeltä Lisää uuden konsolisovelluksen Program-luokkaan.

julkinen staattinen int Lisää (int x, int y, int z, int a, int b, int c)

{

palaa x + y + z + a + b + c;

}

Oletetaan, että soitat Lisää-menetelmään alla olevan koodinpätkän mukaisesti.

staattinen void Main (merkkijono [] args)

{

Lisää (5, 10);

}

Yllä oleva koodi ei toimi, koska Add-menetelmän allekirjoituksessa on kuusi vaadittavaa parametria (yksikään ei ole valinnainen parametri), mutta olet välittänyt vain kaksi argumenttia. Sinulle näytetään seuraava virhe.

Siksi sinun on pakko siirtää arvoja kullekin parametrille puhelun tyydyttämiseksi, kuten alla olevassa koodinpätkässä esitetään.

staattinen void Main (merkkijono [] args)

{

Lisää (5, 10, 8, 2, 3, 6);

}

Asiat monimutkaistuvat, kun menetelmän parametreissa on sekoitus tietotyyppejä. Tämän havainnollistamiseksi muokkaamme Lisää-menetelmää seuraavan koodinpätkän mukaisesti.

julkinen staattinen int Lisää (int x, int y, int z, kaksinkertainen a, kaksinkertainen b, kaksinkertainen c)

{

palauta x + y + z + Convert.ToInt32 (a) + Convert.ToInt32 (b) + Convert.ToInt32 (c);

}

Parametrien tietotyyppien ja niiden sijainnin muistaminen on hankalaa. Ratkaisu tähän on hyödyntää nimettyjä argumentteja ja siirtää arvot menetelmälle alla olevan koodikatkelman mukaisesti.

staattinen void Main (merkkijono [] args)

{

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

}

Voit jopa muuttaa nimettyjen argumenttien järjestystä, kuten alla olevassa koodinpätkässä näkyy.

staattinen void Main (merkkijono [] args)

{

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

}

Niin kauan kuin nimeät argumentit, voit välittää ne missä tahansa järjestyksessä, eikä kääntäjä ilmoita virheistä - ts. Tämä pätee täysin C #: ssä.

Käytä valinnaisia ​​parametreja kohdassa C #

C # -ohjelmointikielen valinnaiset parametrit antavat sinun määrittää metodin allekirjoituksessa argumentteja, jotka menetelmän soittaja voi jättää vapaaksi. Toisin sanoen, vaikka sinun on määritettävä tarvittavien parametrien arvot, voit halutessasi olla määrittelemättä arvoja valinnaisille parametreille. Joissakin tapauksissa valinnaiseen parametriin voi liittyä myös oletusarvo.

Valinnaisen parametrin oletusarvolla voi olla jokin seuraavista arvotyypeistä: vakiolauseke, lauseke, joka on arvotyypin muotoinen, tai lauseke, joka on oletusarvoinen (v), jossa v on arvo tyyppi.

Seuraavassa koodinpätkässä esitetty Lisää-menetelmä kuvaa, kuinka voit määrittää valinnaiset argumentit menetelmälle C #: ssä.

julkinen staattinen int Lisää (int x, int y = 0, int z = 0)

{

paluu x + y + z;

}

Ja näin voit soittaa Lisää-menetelmään.

Lisää (10);

Koska kaksi Add-menetelmän parametria on valinnainen, voit välittää yhden kokonaisluvun arvon menetelmälle sitä kutsuttaessa. Noudata menetelmän parametrien määrittelyn oikeaa järjestystä. Vaadittujen parametrien tulee olla ensin, ja mahdollisten parametrien jälkeen mahdolliset.

Nimetyt ja valinnaiset parametrit otettiin käyttöön C # -ohjelmointikielelle yhteentoimivuuden parantamiseksi COM-sovellusliittymien kanssa. Nimettyjen parametrien käyttö voi parantaa lähdekoodin luettavuutta. Ja voit hyödyntää valinnaisia ​​parametreja korvaamaan ylikuormitettujen menetelmien käytön, kun menetelmän määritelmä on identtinen.

Kuinka tehdä enemmän C #: ssä:

  • Kuinka käyttää sujuvia rajapintoja ja menetelmäketjua C #: ssä
  • Staattisten menetelmien testaaminen yksikössä C #
  • Kuinka refactor Jumalan esineitä C #
  • Kuinka käyttää ValueTaskia C #: ssä
  • Kuinka käyttää muuttumattomuutta C: ssä
  • Kuinka käyttää const, readonly ja staattinen C #: ssä
  • Tietomerkintöjen käyttäminen C #: ssä
  • Kuinka käyttää GUID-tunnuksia C # 8: ssa
  • Milloin abstraktia luokkaa vs. käyttöliittymää käytetään C #: ssä
  • Kuinka työskennellä AutoMapperin kanssa C #: ssä
  • Kuinka käyttää lambda-lausekkeita C #: ssä
  • Kuinka toimia Action-, Func- ja Predicate-edustajien kanssa C #: ssä
  • Kuinka työskennellä C #: n edustajien kanssa
  • Kuinka toteuttaa yksinkertainen kirjaaja C #: ssä
  • Kuinka työskennellä attribuuttien kanssa C #: ssä
  • Kuinka työskennellä log4netin kanssa C #: ssä
  • Kuinka toteuttaa arkiston suunnittelumalli C #: ssä
  • Kuinka työskennellä heijastuksen kanssa C #: ssä
  • Kuinka työskennellä tiedostojärjestelmän katselijan kanssa C #: ssä
  • Kuinka tehdä laiska alustus C #: ssä
  • Kuinka työskennellä MSMQ: n kanssa C #: ssä
  • Kuinka työskennellä laajennusmenetelmien kanssa C #: ssä
  • Kuinka meille lambda-lausekkeet C #: ssä
  • Milloin haihtuvaa avainsanaa käytetään C #: ssä
  • Tuottoavainsanan käyttäminen C #: ssä
  • Kuinka toteuttaa polymorfismi C #: ssa
  • Kuinka rakentaa oma tehtävän ajastin C #
  • Kuinka työskennellä RabbitMQ: n kanssa C #: ssä
  • Kuinka työskennellä C #: n kanssa
  • Virtuaalisten ja abstraktien menetelmien tutkiminen C #: ssä
  • Kuinka käyttää Dapper ORMia C #: ssä
  • Lentopainokuvion käyttäminen C #: ssä