タイトル : 配列のByVal、ByRef渡しについて 投稿日 : 2007/01/04(Thu) 17:39 投稿者 : はじめてのプログラミング
VB.NETを始めて、1ヶ月のプログラマーです。 ※質問内容 メインルーチンからソートの処理をする部分をサブルーチンへ渡したいのですが、 配列変数「sort」を「ByRef sort() as Integer」とし、サブルーチン側で 配列引数を受け取るときにオートコンプリート機能 (ドットを入力したときにGerUpperBoundとかが自動表示される機能)が 働きません。 ただ、「変数名 = sort.GerUpperBound(変数名)」と全てを記述すると有効になります。 ちなみに、配列変数「sort」を「ByVal sort() as Integer」とサブルーチン側へ 渡すと配列に付随したメッソド一覧が表示されます。 配列をByVal、ByRefで渡したときに上記のような違いがおきるのはなぜでしょうか? 私がいま、使用している参考書に「配列データはByRefによる参照私で行う」と書いてあったので 配列をサブルーチンに渡すときは「ByVal」でなく「ByRef 配列名() as 型」と明示して あげるように意識した方がいいのかなと思ったのですがこの違いはなんだろうと 疑問に思いました。 纏まりのない文章で申し訳ないのですが、お時間ある方 ご回答をお願いいたします。 |