Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
int a = 1;
int b = 1;
Grow(a, ref b);
Console.WriteLine(a + " " + b);
void Grow(int x, ref int y)
{
x = x + 10;
y = y + 10;
}1 11
- Ждать
11 11: переменную вызывающего кода меняет толькоref-параметр;x— копияa, поэтомуaостаётся1. - Ждать
1 1:refделаетyвторым именемb, поэтомуy = y + 10меняет самуbна11.
- Что изменится, если объявить
bкакint b;без значения до вызова? - Зачем C# требует писать
refи в вызове, а не только в объявлении?