Передача ссылочного типа по значению - C# (202416)

Узнай цену своей работы

Формулировка задачи:

Не совсем понимаю как работает этот код
 static void Main(string[] args)
        {
            Person fred = new Person("Fred", 12);
            Console.WriteLine("До");
            fred.Display();
 
            SendAPersonByValue(fred);
            Console.WriteLine("После");
            fred.Display();
            Console.Read();
          
        }
        static void SendAPersonByValue(Person p)
        {
            p.personAge = 99;
            p = new Person("Nikki", 99);
        }
        class Person
        {
            public string personName;
            public int personAge;
            public Person(string name, int age)
            {
                personName = name;
                personAge = age;
            }
            public void Display()
            {
                Console.WriteLine(personName + "  " + personAge);
 
            }
Переменная p.personAge изменилась, а присвоить ссылку на новый обьект не получилось p = new Person("Nikki", 99);

Решение задачи: «Передача ссылочного типа по значению»

textual
Листинг программы
static void SendAPersonByValue(Person p)
        {
            Console.WriteLine("Внутри метода SendAPersonByValue");
            p.personAge = 99;
            p.personName = "Nikki";
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы