C ja C vaheline erinevus

Autor: Laura McKinney
Loomise Kuupäev: 2 Aprill 2021
Värskenduse Kuupäev: 5 Mai 2024
Anonim
Вяжем ЖАКЕТ крючком с цельновязанным рукавом на 👉 ВСЕ РАЗМЕРЫ🔥ПОПЕТЕЛЬНЫЙ мастер класс для новичков
Videot: Вяжем ЖАКЕТ крючком с цельновязанным рукавом на 👉 ВСЕ РАЗМЕРЫ🔥ПОПЕТЕЛЬНЫЙ мастер класс для новичков

Sisu


“Ref” ja “Out” on parameetrite modifikaatorid, mida kasutatakse C # -s. Ref ja out abil saate edastada mis tahes väärtuse tüübi selle viitega mis tahes meetodile. Mis tahes väärtuse tüübi selle viitega ületamise põhjus tutvustab peamist erinevust märksõna ref ja out vahel. viide märksõna võimaldab kutsutud meetodil muuta ref-märksõna abil talle edastatud argumendi sisu. välja märksõna lubab kutsutud meetodil ühe kõnega tagastada rohkem kui ühe väärtuse. Uurime erinevuse ja välja vahetamise erinevust koos võrdlustabeliga.

  1. Võrdlusdiagramm
  2. Definitsioon
  3. Peamised erinevused
  4. Järeldus

Võrdlusdiagramm

Võrdluse alusRefVälja
PõhilineSee võimaldab argumendi väärtuse muutmist ref-märksõna abil.See võimaldab meetodil tagastada need väärtused, millele eelneb väljas märksõna.
InitsialiseerimineEnne parameetrikõnet tuleb lähtestada parameeter ref.Enne parameetri lõppemist tuleb parameeter out initsialiseerida kutsutud meetodi sees.
DeklaratsioonMeetodi abil muudetav parameeter deklareeritakse viitena meetodi deklareerimisel ja meetodi väljakutsumisel.Tagastatav parameeter tuleb deklareerida viitena meetodi deklareerimisel ja meetodi väljakutsumisel.


Ref märksõna määratlus

Ref on parameetri modifikaator, mida kasutatakse juhul, kui on vaja kutsuda meetod viite abil. Kui soovime, et kutsutud meetodi sees argumentidesse tehtud muudatused peegelduksid selle muutuja algses väärtuses, kasutatakse ref-parameetri modifikaatorit. Väärtuse tüübile, mida soovime ref-na kuulutada, on meetodi deklareerimise ja meetodi väljakutsumise ajal märksõna „ref”. Meetodi väljakutsumisel ja deklareerimisel võib ref.-Na deklareerida mitu parameetrit.

kasutades süsteemi; klass DemoRef {avalik tühine väljak (ref int s) {s = s * s; }} klass Ref_main {staatiline tühine Main () {DemoRef ob = new DemoRef (); int a = 10; Console.WriteLine ("enne meetodikõnet:" + a); ob.Square (ref a); // Kasutatud ref Märksõnakonsool.WriteLine ("pärast kõnet:" + a); }} // väljastab enne meetodikõnet: 10 a pärast meetodikõnet: 100

Ülalolevas koodis edastatakse muutuja 'a' argumendina meetodile Square (ref a) koos sellele lisatud parameetri modifikaatoriga ref. See tähendab, et mis tahes muudatused, mille kohaselt ruut (ref a) toimib muutuja 'a' sees, peegeldab 'a' algses väärtuses, ka väljaspool meetodit.


Parameetri modifikaatori “ref” käsitlemisel tuleb meeles pidada mõnda olulist punkti.

  • Argument, mille te meetodile tagasi viite, tuleb enne meetodi kutsumist lähtestada.
  • Meetod ei tohi ref argumendile anda algväärtust.
  • Võite kasutada ka ref koos referentsmuutujaga.

Välise märksõna määratlus

Iga kord, kui helistate meetodile, tagastab see ainult ühe väärtuse. Kui soovite, et meetod tagastaks kõne ajal rohkem kui ühe väärtuse, tuleb märksõna „välja” kasutada koos parameetritega, millele soovite meetodi lõpetamisel tagasi pöörduda. Mõnikord on nii, et kui me ei soovi meetodile midagi edasi anda, vaid soovime, et meetod tagastaks midagi, kasutame parameetreid koos väljalülitatud märksõnaga.Mõistagem seda näitega.

kasutades süsteemi; klass DemoOut {avalik int laguneb (topelt x, kahekordne murdosa välja) {int tervik_arv; täisarv = (int) x; murdosa = x - täisarv; tagastama terve_num; }} klass Out_maint {staatiline tühine Main () {DemoOut ob = new DemoOut (); int i; kahekordne murd; i = ob.Lagunema (100,125, väljamurd); // kasutatud märksõna Console.WriteLine ("Terve numbri osa on" + i); Console.WriteLine ("murdosa on" + fraas); }} // väljundi täisarv on 100 Murdosa on 0,125

Ülaltoodud koodi korral tagastatakse kaks väärtust meetodiga Lagunema (). Üks tagastab märksõnaga „return“, st tervik_arv, ja teine ​​tagastab parameetri, millele eelneb märksõna välja, samal ajal kui meetod nimetab „frac“.

Olulised punktid, mida meelde jätta märksõna kohta.

  • Erinevalt ref-märksõnast ei tohi märksõna välja kasutavat parameetrit enne meetodi väljakutsumist lähtestada.
  • Kutsutud meetod annab ise parameetrile väärtuse väljast märksõnaga, kuna seda peetakse kutsutud meetodi sees määramata, st eeldatakse, et sellel puudub algväärtus.
  • Kutsutud meetod peab enne meetodi lõppemist määrama parameetrile out väärtuse.
  • Väljaspool olev märksõna on rakendatav ka võrdlusmuutuja suhtes.
  1. Kui muutuja, millele eelneb ref-märksõna, kantakse üle ükskõik millisele meetodile, kajastuvad selle sees meetodi sees tehtud muudatused selle algses väärtuses. Kui meetodile edastatud muutujale eelneb märksõna välja, tagastab meetod selle ilma tagasisõna kasutamata.
  2. Ref-parameeter tuleks enne meetodi edastamist lähtestada. Teisest küljest tuleb parameeter out initsialiseerida selle meetodi sees, millele see edastatakse.
  3. Meetodi kutsumisel, deklareerimisel või määratlemisel kuulutatakse ref-parameeter selgesõnaliselt ref-iks. Teisest küljest, kui meetodit kutsuda, deklareerida või määratleda, kuulutatakse parameeter out selgesõnaliselt välja.

Järeldus:

Kui muutujat soovitakse meetodile ületada, saab kasutada ref ja out märksõna. Arvestades, et mõlema märksõna kasutamise põhjus on erinev, kui ref-märksõna saab kasutada argumendi väärtuse muutmiseks, millele eelneb ref-märksõna, mis suunatakse kutsutud meetodile, ja out-märksõna kasutatakse eelnenud argumendi väärtuse tagastamiseks välja märksõna järgi.