I am studying reference and value types in C#. According to documentation string and object are reference types. When we execute following code:
 static void Main(string[] args)
    {
        int a = 30;
        object o = a;
        AlterObject(o);
        Console.WriteLine(o);
        Console.Read();
    }
    static void AlterSObject(object testO)
    {
        int b = 130;
        testO = b;
    }
It prints output as 30. Please explain if object is reference type, why value of object is not changed in function.
 
     
    