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

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

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

Объясните
Листинг программы
  1. static void Main(string[] args)
  2. {
  3. var s2 = new StringBuilder();
  4. Foo(s2);
  5. Console.WriteLine(s2);
  6. }
  7. private static void Foo(StringBuilder s)
  8. {
  9. s.Append("test");
  10. }
если s2 это копия s, то почему функция выполняется не до конца то есть не обнуляется?

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

textual
Листинг программы
  1. class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             var s2 = new StringBuilder();
  6.             Foo(ref s2);
  7.             Console.WriteLine(s2);
  8.         }
  9.  
  10.         private static void Foo(ref StringBuilder s)
  11.         {
  12.             s.Append("test");
  13.             s = null;
  14.         }
  15.     }

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


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

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

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

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

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

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