1. ホーム
  2. vb.net

[解決済み] C#のoutパラメータに相当するVB.NETはありますか?

2022-12-26 02:03:21

質問

VB.NETはC#に直接相当するものがありますか? out 関数に渡される変数が初期化される必要がない場合、VB NETにはC#の関数パラメータに直接相当するものがあるのでしょうか。

どのように解決するのですか?

に相当するものはありません。 out というキーワードに相当するものはVBにはありません。

しかし、VBはメソッド内のすべてのローカル変数を自動的に初期化するので、メソッド内で ByRef を明示的に初期化する必要はありません。

Sub Main()
  Dim y As Integer
  Test(y)
End Sub

Sub Test(ByRef x As Integer)
  x = 42
End Sub

(フレームワークの中のコードを調べると(例えば Double.TryParse ) を見てみると <OutAttribute> がパラメータに追加されていますが、これは呼び出しがCOM相互運用またはプラットフォーム呼び出しのためにマーシャルされる場合にのみ違いが生じます)。