What is the difference between “out” and “ref” parameters in C-sharp?