C# - Does transmitting instance of an object actually transmits reference to the object?

Hi,

I was wondering.
If I call a function on other object and transmit current object as parameter - does it transmits a copy of it or a reference to current object?
So if I modify smth in other object - it will be modified in current?

public class Current {
     public int Value = 0;

     void Start() {
         ReferenceClass.Instance.SetCurrentValue(this);
     }
}

public class ReferenceClass {
    ...
    SetCurrentValue(Current Obj) {
        Obj.Value = 10;
    }
}

Classes are passed by reference. The argument Obj that you pass in to SetCurrentValue is essentially a pointer to the existing class, and changing it changes the original. Structs (like Vector3) are passed by value - they are copies of the data, and changing them does not affect the original.