Pagkakaiba sa pagitan ng ref at out sa C #

May -Akda: Laura McKinney
Petsa Ng Paglikha: 2 Abril 2021
I -Update Ang Petsa: 5 Mayo 2024
Anonim
GINALAW NI SIR ANG 13YRS OLD NIYANG ANAK!
Video.: GINALAW NI SIR ANG 13YRS OLD NIYANG ANAK!

Nilalaman


Ang "Ref" at "Out" ay ang mga modifier ng parameter na ginamit sa C #. Gamit ang ref at out, maaari mong ipasa ang anumang uri ng halaga sa pamamagitan ng sanggunian nito sa anumang pamamaraan. Ang dahilan ng pagpasa ng anumang uri ng halaga sa pamamagitan ng sanggunian nito ay nagpapakilala sa pangunahing pagkakaiba sa pagitan ng ref at out keyword. Ang ref pinapayagan ng keyword ang tinatawag na pamamaraan upang mabago ang nilalaman ng argument na ipinasa sa ito gamit ang ref keyword. Ang labas Pinapayagan ng keyword ang tinatawag na pamamaraan upang bumalik ng higit sa isang halaga sa isang solong tawag. Pag-aralan natin ang pagkakaiba sa pagitan ng ref at out kasama ang isang tsart sa paghahambing.

  1. Tsart ng paghahambing
  2. Kahulugan
  3. Pangunahing Pagkakaiba
  4. Konklusyon

Tsart ng paghahambing

Batayan para sa PaghahambingRefPalabas
PangunahingPinapayagan nito ang pagbabago sa halaga ng argument na nagpatuloy sa ref keyword.Pinapayagan nito ang isang pamamaraan upang maibalik ang mga halagang nauna sa pamamagitan ng isang keyword.
PagsisimulaAng ref parameter ay dapat na masimulan bago ang tawag na pamamaraan.Ang out parameter ay dapat na masimulan sa loob ng tinatawag na pamamaraan bago ito matapos.
DeklarasyonAng parameter na mababago ng isang pamamaraan ay ipinahayag bilang ref habang pamamaraan ng pagpapahayag at pagtawag ng pamamaraan.Ang parameter na ibabalik ay dapat ideklara bilang ref habang pamamaraan ng pagpapahayag at pagtawag ng pamamaraan.


Kahulugan ng Ref Keyword

Ang "ref" ay isang parameter modifier na ginamit kapag may pangangailangan sa pagtawag ng isang pamamaraan na may call-by-reference. Kapag nais namin na ang mga pagbabago na ginawa sa mga argumento sa loob ng isang tinatawag na pamamaraan ay dapat sumasalamin sa orihinal na halaga ng variable na iyon, pagkatapos ay ginagamit ang ref parameter modifier. Ang uri ng halaga na nais naming ipahayag bilang isang ref ay nauna sa keyword na "ref" sa panahon ng deklarasyon ng pamamaraan, at paraan ng pagtawag. Mahigit sa isang parameter ang maaaring ipahayag bilang isang "ref" habang tumatawag at nagdeklara ng isang pamamaraan.

gamit ang System; klase DemoRef {pampublikong walang bisa Square (ref int s) {s = s * s; }} klase Ref_main {static na walang bisa Main () {DemoRef ob = bagong DemoRef (); int a = 10; Console.WriteLine ("isang bago tawag na pamamaraan:" + a); ob.Square (ref a); // Ginamit na ref Keyword Console.WriteLine ("a after call:" + a); }} // output bago ang tawag na paraan: 10 a pagkatapos ng tawag na paraan: 100

Sa itaas na code, ang variable na 'a' ay naipasa bilang isang argument sa pamamaraan ng Square (ref a) kasama ang parameter modifier ref na nakakabit dito. Nangangahulugan ito kung ano ang magbabago sa pamamaraan ng Square (ref a) ay gaganapin sa variable na 'a' sa loob nito ay masasalamin sa orihinal na halaga ng 'a', sa labas din ng pamamaraan.


Mayroong ilang mga mahahalagang puntos na dapat tandaan kapag nakitungo sa modifier ng "ref".

  • Ang argumento na iyong ipinasa sa pamamagitan ng ref sa isang pamamaraan ay dapat na masimulan bago ang paraan ng pagtawag.
  • Ang pamamaraan ay hindi dapat magtalaga ng paunang halaga sa ref argument.
  • Maaari mo ring gamitin ang ref kasama ang variable variable din.

Kahulugan ng Out Keyword

Sa bawat oras na tumawag ka ng isang pamamaraan, babalik ito sa isang solong halaga lamang. Kung nais mo ang isang paraan upang bumalik ng higit sa isang halaga sa isang tawag, ang keyword na "out" ay dapat gamitin kasama ang mga parameter na nais mong bumalik kapag natapos ang pamamaraan. Minsan ito ay ang kaso na kapag hindi namin nais na ipasa ang anumang bagay sa pamamaraan ngunit nais ang pamamaraan na ibalik ang isang bagay na ginagamit namin ang mga parameter na may isang out keyword.Unawain natin ito ng isang halimbawa.

gamit ang System; klase DemoOut {pampublikong int mabulok (dobleng x, out na dobleng bahagi) {int whole_num; buong_num = (int) x; maliit na bahagi = x - buong_num; bumalik buong_num; }} klase Out_maint {static void Main () {DemoOut ob = bagong DemoOut (); int i; dobleng frac; i = ob.Decompose (100.125, out frac); // ginamit ang keyword na Console.WriteLine ("Ang buong bahagi ay" + i); Console.WriteLine ("bahagi ng bahagi ay" + frac); }} // output Bahagi ng integer ay 100 Fractional na bahagi ay 0.125

Sa itaas na code, dalawang halaga ang ibabalik ng, ang pamamaraan na mabulok (). Ang isa ay nagbabalik ito sa pamamagitan ng keyword na "bumalik" sa buong buong_num, at ang iba pang mga ito ay nagbabalik ng isang parameter na nauna sa labas ng keyword habang ang paraan ng pagtawag sa i.e. "frac".

Ang mga mahahalagang puntos na dapat tandaan tungkol sa out keyword.

  • Hindi tulad ng ref keyword, ang parameter gamit ang keyword ay hindi dapat ma-paunang gawing bago pagtawag sa pamamaraan.
  • Ang tinatawag na pamamaraan mismo ay magtatalaga ng isang halaga sa parameter na may isang out keyword dahil ito ay itinuturing na hindi natukoy sa loob ng tinatawag na pamamaraan na i.e. ipinapalagay na walang paunang halaga.
  • Ang tinatawag na pamamaraan ay dapat magtalaga ng isang halaga sa labas ng parameter bago matapos ang pamamaraan.
  • Ang out keyword ay naaangkop din sa variable variable.
  1. Kung ang isang variable na nauna sa ref keyword ay ipinapasa sa anumang pamamaraan pagkatapos ang mga pagbabagong ginawa sa loob nito ay makikita ang orihinal na halaga. Kapag ang isang variable na naipasa sa isang pamamaraan ay nauna sa labas ng keyword ang pamamaraan ay ibabalik ito nang hindi gumagamit ng keyword na bumalik.
  2. Ang ref parameter ay dapat na masimulan bago ito maipasa sa isang pamamaraan. Sa kabilang banda, ang out parameter ay dapat na masimulan sa loob ng pamamaraan na ipinapasa nito.
  3. Habang tumatawag, nagdeklara, o nagtukoy ng isang pamamaraan, ang parihas ng ref ay tahasang idineklara bilang ref. Sa kabilang dako, habang tumatawag, nagdedeklara, o nagtukoy ng isang pamamaraan, malinaw na ipinahayag bilang out out ang parameter.

Konklusyon:

Sa tuwing ang variable ay maipasa ng sanggunian sa isang pamamaraan ang ref at out keyword ay maaaring magamit. Sapagkat, ang dahilan ng paggamit ng parehong mga keyword ay naiiba kung saan maaaring magamit ang ref keyword upang mabago ang halaga ng argument na nauna sa ref keyword, naipasa sa tinawag na pamamaraan at ang keyword na ginagamit upang ibalik ang halaga ng argument na nauna sa pamamagitan ng out keyword.