Знали ли вы что :
Выведет на консоль: 16.
НО
Выведет на консоль: 15.
Это справедливо как для шарпа так и для java. Короче кто шарит, может объяснить почему так? Ведь по идее все объекты передаются по ссылке а следовательно по тому адресу на который ссылается ссылка мы по идее вполне можем записать новый объект. А оказалось что это не так.
	
	
	
	
Код:
private class TestClass
        {
            public int Test;
        }
        private static void Main()
        {
            TestClass t = new TestClass();
[color=Red]            t.Test = 15[/color]
            Make(t);
            Console.WriteLine(t.Test);
            Console.ReadLine();
        }
        private static void Make(TestClass t)
        {
[color=red]            ++t.Test;[/color]
        }Выведет на консоль: 16.
НО
Код:
private class TestClass
        {
            public int Test;
        }
        private static void Main()
        {
            TestClass t = new TestClass();
[color=red]            t.Test = 15[/color]
            Make(t);
            Console.WriteLine(t.Test);
            Console.ReadLine();
        }
        private static void Make(TestClass t)
        {
[COLOR="Red"]            t=new TestClass();
            t.Test = 16;[/COLOR]
        }Выведет на консоль: 15.
Это справедливо как для шарпа так и для java. Короче кто шарит, может объяснить почему так? Ведь по идее все объекты передаются по ссылке а следовательно по тому адресу на который ссылается ссылка мы по идее вполне можем записать новый объект. А оказалось что это не так.

 
 

 



![[Изображение: GgMFf9l.png]](http://i.imgur.com/GgMFf9l.png) 
	

![[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]](http://klikr.org/4e38c909fcd08c5fcdf363b54a62.png)