次の方法で共有


変更可能な引数と変更できない引数の違い (Visual Basic)

プロシージャを呼び出すときは、通常、1 つ以上の引数を渡します。 各引数は、基になるプログラミング要素に対応します。 基になる要素と引数自体の両方を変更可能または変更不可にすることができます。

変更可能な要素と変更できない要素

プログラミング要素には、値を変更できる 変更可能な要素、または作成後に固定値を持つ 変更不可能な要素を指定できます。

次の表に、変更可能なプログラミング要素と変更不可能なプログラミング要素を示します。

変更可能な要素 変更できない要素
読み取り専用を除く、オブジェクト変数を含むローカル変数 (プロシージャ内で宣言) 読み取り専用の変数、フィールド、およびプロパティ
読み取り専用を除くフィールド (モジュール、クラス、構造体のメンバー変数) 定数とリテラル
プロパティ (読み取り専用を除く) 列挙型メンバー
配列要素 式(その要素が変更可能であっても)

変更可能な引数と変更できない引数

変更可能な引数は、変更可能な基になる要素を持つ引数です。 呼び出し元のコードは、いつでも新しい値を格納できます。引数 ByRef を渡すと、プロシージャ内のコードで呼び出し元のコード内の基になる要素を変更することもできます。

変更できない引数には、変更できない基になる要素があるか、ByVal が渡されます。 プロシージャは、変更可能な要素であっても、呼び出し元のコードの基になる要素を変更できません。 変更できない要素の場合、呼び出し元のコード自体は変更できません。

呼び出されたプロシージャは変更不可能な引数のローカル コピーを変更する可能性がありますが、その変更は呼び出し元のコードの基になる要素には影響しません。

こちらも参照ください