Задать вопрос
@ignat2009
14 лет, изучаю C#

Передача функциям в виде объектов класса?

Здравствуйте не понимаю почему отличаются эти две функции
(Извините, я сейчас пишу на телефое поэтому я буду писать вкратце код) :
void Swap(MyClass one,MyClass two)
{MyClass three=new MyClass();
three.a=one.a;
one.a=two.a;
two.a=three.a;
}

И
void Swap(MyClass one,MyClass two)
{MyClass three=new MyClass();
three=one;
one=two;
two=three;
}

Почему первая функция может поменять значения , а вторая функция не может поменяться ссылками?
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Потому что эти функции делают разные вещи. Первая - меняет местами свойства разных объектов, в то время как вторая меняет местами значения локальных переменных.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы