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

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

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

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

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

textual
Листинг программы
class Program
    {
        static void Main(string[] args)
        {
            var s2 = new StringBuilder();
            Foo(ref s2);
            Console.WriteLine(s2);
        }
 
        private static void Foo(ref StringBuilder s)
        {
            s.Append("test");
            s = null;
        }
    }

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


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

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

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