Junior — Middle
Metodlarda istinad dəyişənlərini ötürərkən ref və out açar sözləri arasında nə fərq var?
sobes.tech Süni İntellekt
AI-dan cavab
C# dilində, ref və out açar sözləri parametrləri referans vasitəsilə keçirmək üçün istifadə olunur, lakin onlar vacib fərqlərə malikdir:
refdəyişənin metodə göndərilməzdən əvvəl ilkinləşdirilməsini tələb edir. Metod dəyəri oxuya və dəyişə bilər.outdəyişənin əvvəlcədən ilkinləşdirilməsini tələb etmir, lakin metod onun dəyərini çıxışdan əvvəl təyin etməlidir.
Nümunə:
void ExampleRef(ref int x) {
x += 10; // oxumaq və dəyişmək mümkündür
}
void ExampleOut(out int y) {
y = 42; // məcburidir təyin etmək
}
int a = 5;
ExampleRef(ref a); // a ilkinləşdirilməlidir
int b; // ilkinləşdirilməyib
ExampleOut(out b); // metod b-yə dəyər təyin edir
Beləliklə, ref mövcud dəyəri keçirmək və dəyişdirmək üçün istifadə olunur, out isə metodun çoxsaylı dəyərləri parametrlər vasitəsilə geri qaytarması üçün istifadə olunur.