投稿者 さなだ丸  (社会人) 投稿日時 2010/7/1 10:31:57
値渡し:ByVal・・・メソッドに対してそのものを渡す
参照渡し:ByRef・・・メソッドに対して参照を渡す

ということなんですが、

ByValというのは、相手に対して「リンゴ」を渡す。にたいして、
ByRefというのは、相手に対して「リンゴの入った器」を渡す。
ということになります。

メソッド側でもらったリンゴをどのように処理しても、ByValであれば、渡したリンゴがあります。
しかし、ByRefの場合、器にミカンを入れたりすれば、ミカンの入った器に変わってます。

どのようなときというと難しいですが、こういった違いを考慮して使い分けます。
実際には、「メモリへ、どのように格納されているからどっちの方がいい」とかもあるはずです。