ホームページ >バックエンド開発 >C++ >C# パラメーター: `in`、`ref`、または `out` をいつ使用するか?

C# パラメーター: `in`、`ref`、または `out` をいつ使用するか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-20 11:47:12296ブラウズ

C# Parameters: When to Use `in`, `ref`, or `out`?

C# での inref、および out パラメーターの使用シナリオ

C# では、パラメーターをメソッドに渡すときに、inref、または out パラメーター修飾子を使用できます。 refin に似ていますが、out の目的は異なります。

out パラメータ: 使用シナリオ

out パラメータの使用:

  • パラメータの初期値はメソッドの動作とは関係ありません。
  • 外部プロセスへのデータの不必要なマーシャリングを回避してパフォーマンスを最適化します。
  • 初期値が上書きされることを読者に明確にします。

例:

<code class="language-C#">string a, b;
person.GetBothNames(out a, out b);</code>

この例では、GetBothNames メソッドは、ab の初期値に関係なく、2 つの値をアトミックに取得します。

ref パラメータ: 使用シナリオ

ref パラメータの使用:

  • パラメータの初期値はメソッドの動作に関係します。
  • 渡されたパラメータを変更する必要があります。

例:

<code class="language-C#">string name = textbox.Text;
bool didModify = validator.SuggestValidName(ref name);</code>

この例では、name の初期値は検証の目的で必要であり、メソッドによって変更される可能性があります。

シュガー構文

out パラメータは単なる構文糖ではありません。これによりパフォーマンス上の利点が得られ、メソッドの意図が明確になり、初期化されていないパラメーターを渡すことが可能になります。

以上がC# パラメーター: `in`、`ref`、または `out` をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。