タイトル : Re^4: 配列のByVal、ByRef渡しについて 投稿日 : 2007/01/05(Fri) 11:35 投稿者 : はじめてのプログラミング
> 本自体は見ていないので何とも言えませんが、サンプルのコード類を > http://www.gihyo.co.jp/books/support.php/4-7741-1718-8 > 見る限りでは、配列を ByVal、ByRef 両方で渡して解説されているように > 思うのですが?> 7_4_2_2 のサンプル等 確かにByVal、ByRef 両方で解説してあります。 すいません、見落としていました。 > >配列変数「sort」を「ByRef sort() as Integer」とし、サブルーチン側で > >配列引数を受け取るときにオートコンプリート機能 > が、7_4_3_1 のサンプルと関係しているのなら使い方が間違っていませんか? 関係しています。 7_4_3_1のサンプルでsort(ByRef a() as Girl)の中で、 例えば、Dim e As Integer = a.GetUpperBound(e)と配列の上限番号を取得したい場合 「ByRef」だとa.とドットを入力した場合、メソッド一覧が表示されません。 これをsort(ByVal a() as Girl)と「ByVal」とすると「a.」とドットを入力した場合、 メソッド一覧が表示されます。 私的には、ByVal、ByRefどちらで配列を渡したとしても、 参照渡しになるので個人的なルールとして、 「ByRef」と記述するクセをつけたほうが正しいと思っていたのですが 「ByRef」だとメソッド一覧が表示されないので.NET的には「ByVal」と した方がいいのか?どっちだろうと思い質問しました。 教えていただいたMSDNを今読んでいるところですので、 最後まで読んでまた回答させてください。(多分謎が解けると思いますので) |