Передача ссылочного типа по значению - 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";
        }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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