C# Pass By Value Vs. Pass By Reference
Answer : Re: OP's Assertion It is universally acknowledged (in C# at least) that when you pass by reference, the method contains a reference to the object being manipulated, whereas when you pass by value, the method copies the value being manipulated ... TL;DR There's more to it than that. Unless you pass variables with the ref or out keywords, C# passes variables to methods by value , irrespective of whether the variable is a value type or a reference type . If passed by reference , then the called function may change the variable's address (i.e. change the original calling function's variable's assignment). If a variable is passed by value : if the called function re-assigns the variable, this change is local to the called function only, and will not affect the original variable in the calling function however, if changes are made to the variable's fields or properties by the called function, it will depend on whether the variable is ...