Вам нужно ключевое слово ref
:
public static void Exchange(ref Person p1, ref Person p2)
называется так:
Person.Exchange(ref person1, ref person2);
Причина в том, что без ref
, p1
и p2
являются копиями ссылки . Это не значит, что они являются копиями объекта, но копиями ссылки на этот объект.
См. Документацию по ключевому слову ref для получения дополнительной информации.