メソッドへの参照変数の引渡し

Javaなんかでは引数に参照変数を書くと、そのインスタンスをメソッドに渡してくれるのだけど(多分)、C#はそうではなくて新たなインスタンスにデータをコピーして渡すらしい。だから参照変数でも、オリジナルのインスタンスを弄りたい場合は ref オプションをつけないといけないんですよ。

public void method_a( ref byte[] data ){
    ……
}

こっちのほうが明示的ではあるけど、めんどくさいなぁ。メソッド呼び出しの時もちゃんと ref ってつけないといけないし。

byte[] data = new byte[10];
classA.method_a( ref data );