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

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

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

Не совсем понимаю как работает этот код
Листинг программы
  1. static void Main(string[] args)
  2. {
  3. Person fred = new Person("Fred", 12);
  4. Console.WriteLine("До");
  5. fred.Display();
  6. SendAPersonByValue(fred);
  7. Console.WriteLine("После");
  8. fred.Display();
  9. Console.Read();
  10. }
  11. static void SendAPersonByValue(Person p)
  12. {
  13. p.personAge = 99;
  14. p = new Person("Nikki", 99);
  15. }
  16. class Person
  17. {
  18. public string personName;
  19. public int personAge;
  20. public Person(string name, int age)
  21. {
  22. personName = name;
  23. personAge = age;
  24. }
  25. public void Display()
  26. {
  27. Console.WriteLine(personName + " " + personAge);
  28. }
Переменная p.personAge изменилась, а присвоить ссылку на новый обьект не получилось p = new Person("Nikki", 99);

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

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

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


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

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

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы