ホームページ > バックエンド開発 > C++ > C# の Out パラメーターと Ref パラメーター: いつどちらを使用する必要がありますか?

C# の Out パラメーターと Ref パラメーター: いつどちらを使用する必要がありますか?

Barbara Streisand
リリース: 2025-01-20 11:51:08
オリジナル
228 人が閲覧しました

Out vs. Ref Parameters in C#: When Should You Use Which?

「ref」の代わりに「out」を使用する場合

「out」パラメータと「ref」パラメータのどちらかを選択する場合、「ref」が特に必要でない限り、デフォルトの選択は「out」です。

Out と Ref の違い

「ref」はメソッドがパラメーターとして渡された変数の元の値を変更できるようにしますが、「out」はこの機能を禁止します。初期値のマーシャリングは不必要な処理につながる可能性があるため、プロセスまたはマシン間でのデータ転送に関しては、この区別が重要になります。

「out」の使用に適したシナリオ

次のシナリオを考えてみましょう:

<code class="language-c#">person.GetBothNames(out a, out b);</code>
ログイン後にコピー

「person」をオブジェクト、「Get BothNames」を2つの値を取得するメソッドとすると、「a」と「b」の初期値はメソッドの動作とは関係ありません。この場合、「in」または「out」の使用は好みの問題ですが、初期値の無駄なマーシャリングを排除するために「out」を選択することをお勧めします。

「ref」の使用に適したシナリオ

一方、初期値の変更がメソッドの意図の一部である場合、「ref」は適切です。

<code class="language-c#">bool didModify = validator.SuggestValidName(ref name);</code>
ログイン後にコピー

「name」パラメータは参照によって渡されるため、「validator」メソッドがその値を変更し、変更を示す「didModify」を返すことができます。

つまり、ほとんどの場合、初期変数値を変更する必要がない場合は「out」を選択するのが適切ですが、そのような変更が必要な場合は「ref」が必要になります。

以上がC# の Out パラメーターと Ref パラメーター: いつどちらを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート