Atšķirība Starp Out Un Ref C

Satura rādītājs:

Atšķirība Starp Out Un Ref C
Atšķirība Starp Out Un Ref C

Video: Atšķirība Starp Out Un Ref C

Video: Atšķirība Starp Out Un Ref C
Video: Раскачали Москву. Обзор Ауди Рамазана. Автобезумие 2020 | 4K 2024, Maijs
Anonim

Galvenā atšķirība - izeja pret atsauci C #

C # ir moderna programmēšanas valoda, kuru izstrādājusi Microsoft. To izmanto dažādu lietojumprogrammu izstrādei galddatoriem, tīmeklim un mobilajām ierīcēm. Funkcijas vai metodes ir jēdziens programmēšanā. Šī paziņojumu grupa, kas tiek izmantota konkrēta uzdevuma veikšanai, ir pazīstama kā funkcija vai metode. C # programmās izpilde sākas no main (). Tas ir metodes piemērs. Izsaucot metodi, dati tiek pārsūtīti uz metodi vai saņemti no metodes. Metode, kas izsauc jauno metodi, ir pazīstama kā metodes izsaukšana. Jaunā metode ir pazīstama kā sauktā metode. Lai pārvaldītu ietošās vērtības un atgūtu rezultātu, C # izmanto parametrus. Tie ir vērtētie parametri, izejas parametri un atsauces parametri. Vērtības parametri tiek izmantoti parametru ievadīšanai metodē pēc vērtības. Atsauces parametrus izmanto, lai parametrus nodotu metodei ar atsauci. Izvades parametrus izmanto, lai atgrieztu rezultātu no metodes. C # izejas parametriem tiek izmantots atslēgas vārds out, un parametriem atsauces tiek izmantots atsauces atslēgvārds. Galvenā atšķirība starp out un ref C # ir tā, ka out ir atslēgvārds, ko izmanto, lai norādītu izejas parametru, kas tiek izmantots, lai pārsūtītu izsauktās metodes rezultātus uz izsaukšanas metodi, bet ref ir atslēgvārds, kas norāda atsauces parametru, kas tiek izmantots, lai nodotu dati no izsaukšanas metodes uz izsaukto metodi un lai saņemtu datus no izsauktās metodes uz izsaukšanas metodi.out ir atslēgvārds, ko izmanto, lai atsauktu izejas parametru, kas tiek izmantots, lai pārsūtītu izsauktās metodes rezultātus uz izsaukšanas metodi, bet ref ir atslēgvārds, kas norāda atsauces parametru, kas tiek izmantots, lai pārsūtītu datus no izsaukšanas metodes uz izsaukto metodi un saņemtu datus no izsauktās metodes līdz izsaukšanas metodei.out ir atslēgvārds, ko izmanto, lai atsauktu izejas parametru, kas tiek izmantots, lai pārsūtītu izsauktās metodes rezultātus uz izsaukšanas metodi, bet ref ir atslēgvārds, kas norāda atsauces parametru, kas tiek izmantots, lai pārsūtītu datus no izsaukšanas metodes uz izsaukto metodi un saņemtu datus no izsauktās metodes līdz izsaukšanas metodei.

SATURS

1. Pārskats un galvenās atšķirības

2. Kas ir C #

3. Kas ir ref C #

4. Līdzības starp out un ref C #

5. Blakus salīdzinājums - out vs ref C # tabulas veidā

. Kopsavilkums

Kas ir C #?

Funkcijas vai metodes sintakse ir šāda. Metodei ir vairāki elementi, piemēram, metodes nosaukums, parametru saraksts, atgriešanas veids un piekļuves specifikators.

(parametru saraksts)

{// izpildāmie paziņojumi

}

Katrai metodei ir unikāla metode, kā izsaukt funkciju. Izpildāmie paziņojumi ir cirtaini iekavās. Atgriešanas veids izskaidro, vai funkcija atgriež vērtību vai nē. Ja atgriešanās veida nav, to sauc par spēkā neesošu. Piekļuves specifikators tiek izmantots, lai norādītu metodes pieejamību lietojumprogrammā. Parametri tiek izmantoti, lai saņemtu vai nodotu datus metodei. Var būt arī metodes bez parametriem. Parametri var būt vērtējami parametri, izejas parametri vai atsauces parametri.

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

Izejas parametrus izmanto, lai atgrieztu rezultātus atpakaļ izsaukšanas metodē. Lai to izdarītu, parametrs jādeklarē ar atslēgvārdu. Izvades parametrs nerada jaunu krātuves vietu. Parasti metode atgriež vienu vērtību. Bet C #, izmantojot izejas parametrus, ir iespējams atgriezt divas vērtības no funkcijas. Skatiet zemāk esošo programmu.

nosaukumvietas lietojumprogramma1 {

publiskā klase Aprēķins {

public void display (out int a, out int b) {

int vērtība = 5;

a = vērtība;

b = vērtība;

a = a * a;

b = b * b;

}

public static void main (String args) {

int vērtība1 = 10, vērtība2 = 20;

Aprēķins cal = jauns Aprēķins ();

cal.display (izejas vērtība1, izejas vērtība2);

Console. ReadLine ();

}

}

}

Displeja funkcija tiek izsaukta no galvenās metodes. Vērtībai1 un divām vērtībām ir 10 un 20, taču tās metodē neņem vērā. Funkcijas a vērtība ir 25 un b vērtība ir arī 25. Tādēļ šīs vērtības tiek atgrieztas. Drukājot vērtību1 un vērtību2, tas nedos 10 un 20. Tā vietā tiks izdrukāti 25 un 25. Izmantojot atslēgvārdu out, no metodes var atgriezt vairākas vērtības.

Kas ir atsauce C #?

Pārejot parametrus pēc vērtības, katram parametram tiek izveidota jauna glabāšanas vieta. Faktiskie parametri, kas tika nosūtīti no galvenās programmas, nemainās. Tā vietā šīs vērtības tiek kopētas atsevišķā vietā. Šīs jaunās mainīgās kopijas sauc par formālajiem parametriem. Skatiet zemāk esošo kodu.

nosaukumvietas lietojumprogramma1 {

publiskā klase Aprēķins {

public void swap (int x, int y) {

int temp;

temp = x;

x = y;

y = temp;

}

public static void main (String args) {

Aprēķins cal = jauns Aprēķins ();

int p = 2;

int q = 3;

cal.maiņa (p, q);

Console. WriteLine (p);

Console. WriteLine (q);

Console. ReadLine ();

}

}

}

Saskaņā ar iepriekš minēto programmu aprēķinu klasei ir metožu mijmaiņas (). Galvenajā programmā tiek izveidots aprēķina veida objekts. Ir divas vērtības, piemēram, p un q. Mainīgajam p ir vērtība 2, un q mainīgajam ir vērtība 3. Šīs divas vērtības tiek nodotas mijmaiņas metodei. Mijmaiņas metodē vērtība 2 tiek kopēta mainīgajā x, bet vērtība 3 - mainīgajā y. Izmantojot temp mainīgo, vērtības tiek apmainītas. Atpakaļ galvenajā programmā, drukājot p un q, vērtības netiek apmainītas. P vērtība joprojām ir 2, un q vērtība ir 3. Pat mijmaiņas metodē vērtības tiek apmainītas, bet tas neatspoguļojas galvenajā programmā.

Atšķirībā no iepriekšminēto vērtību nodošanas, parametrus ir iespējams nodot ar atsauci. Atsauces mainīgais ir atsauce uz atmiņas vietu. Nav izveidota jauna atmiņas vieta. Metodes izmaiņas, kas atspoguļotas galvenajā programmā. C #, atsauces parametri tiek norādīti, izmantojot ref atslēgvārdu. Skatiet zemāk esošo programmu.

nosaukumvietas lietojumprogramma1 {

publiskā klase Aprēķins {

public void swap (ref int x, ref int y) {

int temp;

temp = x;

x = y;

y = temp;

}

public static void main (String args) {

Aprēķins cal = jauns Aprēķins ();

int p = 2;

int q = 3;

cal.swap (ref p, ref q);

Console. WriteLine (p);

Console. WriteLine (q);

Console. ReadLine ();

}

}

}

Saskaņā ar iepriekš minēto programmu klases Aprēķins ir mijmaiņas metode. Galvenajā programmā tiek izveidots aprēķina veida objekts. Šie ir divi mainīgie, piemēram, p un q. Mainīgajam p ir vērtība 2 un q mainīgajam ir vērtība 3. Metodam tiek nodota atsauce uz p un q atmiņas vietām, nevis vērtību nodošana. Šie atsauces mainīgie tiek atsaukti, izmantojot atsauci. Mijmaiņas metodē, nevis kopējot vērtības jaunā vietā, tiek veiktas izmaiņas faktiskajos parametros. Drukājot galvenās programmas p un q vērtības, tiks dotas mainītās vērtības. Tagad p vērtība ir 3 un q vērtība ir 2.

Kāda ir līdzība starp out un ref C #?

Abi ir atslēgas vārdi, kurus izmanto, lai norādītu metodes parametrus

Kāda ir atšķirība starp out un ref C #?

Atšķirīgs raksts vidū pirms tabulas

out vs ref in C #

Out ir atslēgvārds C #, kas tiek izmantots, lai norādītu izvades parametru. To izmanto, lai nodotu rezultātus no izsauktās metodes uz metodes izsaukšanu. Ref ir atslēgvārds C #, kas tiek izmantots atsauces parametra norādīšanai. To izmanto, lai pārsūtītu datus no izsaukšanas metodes uz izsaukto metodi un lai atgrieztu datus no izsauktās metodes uz izsaukšanas metodi.
Funkcionalitāte
Izmantojot atslēgvārdu out, datus var pārsūtīt no izsaukšanas metodes uz izsaukto metodi. Bet šie dati tiek izmesti. To izmanto, lai rezultātu nodotu izsaukšanas metodei no saucamās metodes. Izmantojot atslēgvārdu ref, dati tiek pārsūtīti no izsaukšanas metodes uz izsaukto metodi un manipulētie dati tiek nodoti atpakaļ uz izsaukšanas metodi.
Datu nodošana
Izmantojot atslēgvārdu out, dati tiek nodoti vienā veidā, kas ir izsauktā metode izsaukšanas metodei. Izmantojot atslēgvārdu ref, dati tiek nodoti divos veidos, sākot no izsaukšanas metodes līdz izsauktajai metodei un no izsauktās metodes līdz izsaukšanas metodei.

Kopsavilkums - out vs ref in C #

Atsaucoties uz metodi, iespējams, būs jāievada vērtības metodē un jāatgūst metodes rezultāti. C # ir dažādi parametri, lai to sasniegtu. Vērtības parametri tiek izmantoti parametru ievadīšanai metodē pēc vērtības. Atsauces parametrus izmanto, lai parametrus nodotu metodei ar atsauci. Izvades parametrus izmanto, lai atgrieztu rezultātu no metodes. C # izejas parametriem tiek izmantots atslēgas vārds out, un parametriem atsauces tiek izmantots atsauces atslēgvārds. Atšķirība starp out un ref C # ir tā, ka out ir atslēgvārds, ko izmanto, lai norādītu izvades parametru, kas tiek izmantots, lai pārsūtītu rezultātus no izsauktās metodes uz izsaukšanas metodi, bet ref ir atslēgvārds, kas norāda atsauces parametru, kas tiek izmantots, lai pārsūtītu datus no izsaukšanas metode uz izsaukto metodi un lai saņemtu datus no izsauktās metodes uz izsaukšanas metodi.

Lejupielādējiet izejas un atsauces PDF failu C #

Jūs varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistes mērķiem, kā norādīts piezīmē. Lūdzu, lejupielādējiet PDF versiju šeit: Atšķirība starp Out un Ref C #

Ieteicams: