最終更新:2021-01-04 (月) 20:17:04 (1208d)  

C♯/ref
Top / C♯ / ref

  • 引数が参照渡しされる。
  • 引数にも「ref」を付ける - 値が変わってしまうことが呼び出し側でも明確になる
  • 対象の変数が初期化されていないとビルドすることができない。

方向属性

  • out をつければ [Out]
  • ref をつければ [In][Out] が指定されたのと同じようにマーシャリングが行われます

メモ

  • ref修飾パラメータの既定値はIn,Out属性となっているため、参照渡しするC#構造体(値型)が呼び出し先で変更されないと分かっている場合は、該当パラメータに対してIn属性を明示指定する方が実行効率が良い。(そうしないと不要なOutのためのマーシャリングが行われる)

関連

  • out - 引数が初期化されていなくても良い