メソッドへの参照変数の引渡し
Javaなんかでは引数に参照変数を書くと、そのインスタンスをメソッドに渡してくれるのだけど(多分)、C#はそうではなくて新たなインスタンスにデータをコピーして渡すらしい。だから参照変数でも、オリジナルのインスタンスを弄りたい場合は ref オプションをつけないといけないんですよ。
public void method_a( ref byte[] data ){ …… }
こっちのほうが明示的ではあるけど、めんどくさいなぁ。メソッド呼び出しの時もちゃんと ref ってつけないといけないし。
byte[] data = new byte[10]; classA.method_a( ref data );