Explicitly saying ref or out when invoking a function

Jarrett Billingsley jarrett.billingsley at gmail.com
Tue Aug 11 11:02:22 PDT 2009


On Tue, Aug 11, 2009 at 11:40 AM, Ary Borenszweig<ary at esperanto.org.ar> 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?

I suggested it ages ago and still think it would be a nice requirement.



More information about the Digitalmars-d mailing list