Junior — Middle
95
Деректерді әдіске сілтеме арқылы және мән арқылы беру арасындағы айырмашылық неде?
Сұралған компаниялар
Почтатех
AI-дан жауап
sobes.tech AI
C#-та мәліметтерді әдіске беру негізінен екі жолмен жүзеге асырылады: мән бойынша (by value) және сілтеме бойынша (by reference).
-
Мән бойынша беру (әдепкі): айнымалының мәні көшіріліп, әдіске беріледі. Ішкі өзгерістер сыртқы бастапқы айнымалыға әсер етпейді.
-
Сілтеме бойынша беру (
refнемесеoutкілтсөздері арқылы): айнымалының сілтемесі беріледі. Ішкі өзгерістер бастапқы айнымалыға әсер етеді.
Мысал:
void ChangeValue(int x) {
x = 10; // көшірмеге өзгеріс енгізеді
}
void ChangeValueRef(ref int x) {
x = 10; // түпнұсқа айнымалыға әсер етеді
}
int a = 5;
ChangeValue(a);
Console.WriteLine(a); // Нәтиже: 5
ChangeValueRef(ref a);
Console.WriteLine(a); // Нәтиже: 10
Осылайша, мән бойынша беру әдісі түпнұсқа деректерді әдіс ішінде өзгертуге кедергі келтіреді, ал сілтеме бойынша беру әдісі әдіс ішіндегі өзгерістерді сақтайды.