Sobes.tech
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

Осылайша, мән бойынша беру әдісі түпнұсқа деректерді әдіс ішінде өзгертуге кедергі келтіреді, ал сілтеме бойынша беру әдісі әдіс ішіндегі өзгерістерді сақтайды.