Explicitly saying ref or out when invoking a function

Denis Koroskin 2korden at gmail.com
Tue Aug 11 10:37:09 PDT 2009


Ary Borenszweig Wrote:

> 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?

IIRC, this is no more a case as of C# 3.0



More information about the Digitalmars-d mailing list