Ref & out keyword C#

Mina Aliyeva
Nov 10, 2020

--

Bu gün C # -da ref out parametrlərini müzakirə edəcəyik. Bildiyiniz kimi value typelar stack yaddaş sahəsində yerləşir. Bir ChangeNumber methodu yaratsaq və dəyişəni ona ötürsək görəcəyik ki, dəyişənin qiyməti dəyişmədi. Sanki method daxilində yeni bir int number dəyişəni yaratdı və yeni qiyməti ona təyin etdi. Scop xaricində isə hec bir təsiri olmadı. Value typelar methoda ötürülən zaman dəyişənin özü yox(adreesi yox),qiyməti kopyalanıb ötürülür.

Method vasitəsilə dəyişənin qiymətini dəyişdirmək istəsək bu zaman ref açar sözündən istifadə edə bilərik. Biz a dəyişəninə reference-nı(adressini) methoda ötür demiş oluruq.

ref c#

Bəs nə üçün b dəyişənin də qiyməti dəyişmədi? Burada b dəyişənini a-ya bərabər etdikdə stackdə yeni bir yaddaş sahəsi yaradılır. Və a dəyişəni ilə əlaqəsi kəsilir.

Out

Out açar sözünə baxdığımızda ref ilə bənzəyir. Cüzi bir fərqlə ref istifadə edərkən əvvəlcə dəyər verməyiniz lazımdır. Outda belə bir tələb yoxdur. Outda metodun içərisində dəyər verməyiniz gözlənilir.

--

--

No responses yet