C# reference type behaviour
<p>I have some confusion with reference type following is the test example
please tell me how it will works</p>

<pre><code>class TestClass
{
    public int i = 100;
}

class MyTestClass
{
    public void Method()
    {
        int i = 200;
        var testClass = new TestClass();
        testClass.i = 300;
        Another(testClass, i);
        Console.WriteLine("Method 1:" + testClass.i);
        Console.WriteLine("Method 2:" + i);
    }
    public void Another(TestClass testClass, int i)
    {
        i = 400;
        testClass.i = 500;
        testClass = new TestClass();
        //If we have set here again testClass.i = 600; what should be out putin this case
        Console.WriteLine("Another 1:" + testClass.i);
        Console.WriteLine("Another 2:" + i);
    }
    public static void Main()
    {
        MyTestClass test = new MyTestClass();
        test.Method();
        Console.ReadLine();
    }
}
</code></pre>

<p><em><strong></em>**<em>*</em></strong><em>EDIT</em><strong><em>*</em>**<em>*</em>**</strong>
What should be the Output of this,and how many times the Object of the TestClass() will created during execution.</p>
