@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;
}

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

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

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