Starpība starp ref un out parametru c #

ref (atsauces) parametrs

Parametrs “ref” tiek izmantots, lai pārsūtītu vērtību, atsaucoties no faktiskā parametra uz formālo parametru, t.i., no izsaukuma metodes uz izsaukto metodi. C # parametrs, kas deklarēts ar “ref” modifikatoru, ir atsauces parametrs. Pārejot parametrus pēc atsauces, atšķirībā no vērtības parametriem, šim parametram netiek izveidota jauna atrašanās vieta. Visas formālā parametra izmaiņas tiks atspoguļotas faktiskajā parametrā.

Ref parametra piemērs
Kā parādīts iepriekšējā programmas fragmentā, visas izmaiņas, kas veiktas m, tiks atspoguļotas n, jo parametrs tiek nodots ar atsauci.

izejas (izejas) parametrs

Izejas parametrs tiek izmantots, lai rezultātu nodotu atpakaļ izsaukšanas funkcijai. Atslēgvārds “out” tiek izmantots, lai deklarētu parametru kā izejas parametru. Līdzīgi kā atsauces parametrs, izejas parametrs nerada jaunu uzglabāšanas vietu. Tā vietā tas kļūst par parametra aizstājvārdu izsaukšanas metodē.

Ārējā parametra piemērs
Iepriekš minētajā programmā x tiek izsaukts kā ārējs parametrs izsaukšanas funkcijā, un, kā redzat, x nav inicializēts. Kad funkcija Kvadrāts tiek pārtraukta, q vērtība tiks kopēta uz izvades parametru x.

Atšķirība starp ref un out parametru C #

  1. Atsauces parametrā formālajā parametrā veiktās izmaiņas atspoguļo faktisko parametru, savukārt ārējā parametrā vērtība tiek atspoguļota izsaukšanas funkcijas parametrā “out”..
  2. Faktiskajam parametram “output”, kam parasti nav piešķirta vērtība, savukārt faktiskajam parametram, kas deklarēts kā atsauce, pirms zvana vienmēr jāpiešķir vērtība.
    Piezīme: Metodes pamattekstā jāpiešķir vērtība parametram out; pretējā gadījumā metode netiks apkopota.
  3. Gan izejas, gan ref parametri nerada jaunu atmiņas vietu.
  4. Ref un out parametri apstrādes laikā tiek apstrādāti atšķirīgi, bet kompilēšanas laikā tie tiek apstrādāti vienādi.
IT