Question: what is the difference between ref and parameter?
Answer: Variables passed as out may also be passed to a function without being initialized. out specifies that the parameter is an output parameters, i.e. it has no value until it is explicitly set by the method. ref specifies that the value is a reference that has a value, and whose value you can change inside the method.