Приложение печатает 24, но не должно быть печати 18, когда мы знаем, что без ключевого слова ref только копия объекта передается и никаких изменений в исходный объект не производится. Я создал класс под названием myclass и объект me. age - это переменная public в классе myclass. Я поставил me.age в 18 и через метод показа я изменил его до 24.Передача объектов в качестве параметров
class Program
{
static void Main(string[] args)
{
myclass me = new myclass();
me.age = 18;
show(me);
Console.WriteLine(me.age);
Console.ReadLine();
}
public static void show(myclass you)
{
you.age = 24;
}
}
class myclass
{
public int age;
}
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –
«без ключевого слова ref только копия объекта передана и никаких изменений в исходный объект» неверна. Правильный оператор: «без ключевого слова' ref' или 'out' передается копия * значения *, а исходная * переменная * не изменяется, если значение * получено из переменной *. 'ref' делает псевдоним переменной *. –