Изменения, которые вы вносите в Swap
, ограничены этим - вы играете только с указателями (и боксом), ссылки вне функции остаются прежними (у вас есть 4 ссылки). Вы увидите разницу, если измените подпись вашего метода:
попробуй Swap(ref Object obj1, ref Object obj2)
.
То же самое относится к
Object obj1 = new Object ();
obj1 = 10;
Это не лучше, чем Object obj1 = 10;
, кстати
Чтобы увидеть, что объект действительно является ссылочным типом, используйте класс со свойствами, например:
class Foo {
public int Value {get; set;}
}
Измените Value
объекта в Swap
, и вы увидите эффекты для вашей основной программы.