1. ホーム
  2. c#

[解決済み] キーワード「ref」と「out」の違いは何ですか?

2022-03-21 16:29:21

質問

オブジェクトを渡す必要がある関数を作成し、その関数で変更できるようにしています。どのような違いがあるのでしょうか?

public void myFunction(ref MyClass someClass)

そして

public void myFunction(out MyClass someClass)

どれを使うべきか、その理由は?

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

ref は、関数に入る前にオブジェクトが初期化されることをコンパイラに伝えますが out は、オブジェクトが関数の内部で初期化されることをコンパイラに伝えます。

そのため ref は2ウェイです。 out は出力のみです。