Explicitly saying ref or out when invoking a function

Ary Borenszweig ary at esperanto.org.ar
Tue Aug 11 08:40:52 PDT 2009


In C# when you define a function that takes an out or ref parameter, 
when invoking that function you must also specify ref or out. For example:

void fun(ref uint x, double y);

uint a = 1;
double b = 2;
fun(ref a, b);

When I first started using C# it really annoyed me that I had to put 
that keyword there just to get my program compiled. "I know what I'm 
doing", I thought. But later, when reading the code, I found it very 
helpful to know that my "a" could be changed when invoking "fun". As 
always, code is read much more times than written, and I think this 
little tips help better understand the code.

What do you think?



More information about the Digitalmars-d mailing list