so i learned that in c#(or most oop languages) when you create a method that takes an object as a parameter, and you call said method and pass an object of the same type as an argument, it passes the reference to the caller. so if you were to alter any properties of the object parameter in the method, it affects the object that was used as a parameter
something like
void ChangeName(Person p) { p.Name = "Alice";}Person person = new Person();person.Name = "Bob";ChangeName(person);
void ChangeName(Person p) { p.Name = "Alice";}Person person = new Person();person.Name = "Bob";ChangeName(person);
i assume that after the last statement person's Name property is now "Alice".
i was reading up the docs and it mentioned you would use
ref
ref
before an object parameter if you wanted to alter the original object argument and I'm confused cus isnt this how objects already worked like..?