Троелсен, Передача ссылочных типов по значению - C#

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

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

Листинг программы
  1. class Person
  2. {
  3. }
  4. static void SendAPersonByValue(Person p) //получена копия ссылки на объект из вызывающего кода.
  5. {
  6. p = new Person("Nikki", 99);
  7. }
  8. static void Main(string [ ] args)
  9. {
  10. Person fred = new Person ("Fred", 12);
  11. SendAPersonByValue(fred);
  12. }
разве в строке 6 не создается новый объект в куче? -"Если ссылочный тип передается по значению, вызываемый код может изме*нять значения в данных состояния объекта, но не объект, на который указывает ссылка."

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

textual
Листинг программы
  1. Person fred = new Person ("Fred", 12);
  2. Person fredCopy = fred;
  3. SendPersonByValue(fred);
  4. var flag = Object.ReferenceEqual(fred, fredCopy); // true
  5.  
  6. SendPersonByRef(fred);
  7. flag = Object.ReferenceEqual(fred, fredCopy); // false

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


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

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

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

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

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

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