ホームページ > バックエンド開発 > C++ > C# の `ref` と `out`: いつどのキーワードを使用するか?

C# の `ref` と `out`: いつどのキーワードを使用するか?

Barbara Streisand
リリース: 2025-01-24 12:08:10
オリジナル
274 人が閲覧しました

C# `ref` vs. `out`: When to Use Which Keyword?

c#in

and>キーワードの違いとアプリケーションのシナリオrefout C#、では、キーワードを使用して、送信オブジェクトを参照オブジェクトに従ってメソッドまたは関数に渡すために使用されます。発信者は、呼び出しの方法でオブジェクトを直接操作できるようにします。

シーンの使用:ref out

および

両方とも、変更がメソッドに渡されたオブジェクトを変更できるようにします。重要な違いは、初期化の要件です:

ref out

発信者は、オブジェクトをメソッドに渡す前にオブジェクトを初期化する必要があります。

メソッドは、両方向にオブジェクトにアクセスし、そのステータスを変更できます。 ref メソッドで行われた変更は、発信者のコンテキストに反映されます。

  • コールパーティは、メソッドを呼び出す前にオブジェクトを初期化する必要はありません。

メソッドは、主題内のオブジェクトを初期化します。 outメソッドは、オブジェクトのみに単方向にアクセスし、それらを割り当てることができます。

電話後、コールパーティは初期化されたオブジェクトを受け取ります。
  • どのキーワードを選択しますか:
  • 状況を選択:
  • オブジェクトは、メソッドが呼び出される前に初期化され、変更する必要があります。

オブジェクトの元の状態は、コールパーティにとって重要です。

状況を選択:

ref

メソッド呼び出し前にオブジェクトを初期化する必要はありません。
  • メソッドは新しいオブジェクトを作成して返す必要があります。
  • オブジェクトの元の状態は、発信者には必要ありません。

例:out

    次の変更を考慮してください
  • オブジェクトの属性の方法:
  • このメソッドの開始前の
  • オブジェクトにより、
  • 属性が変更されます。一方、空または無制限に送信するオブジェクトは、ランタイムエラーを引き起こします。

使用を使用します

この場合、このメソッドが作成され、

パラメーターの新しいMyClassインスタンスが割り当てられます。新しいオブジェクトは呼び出しパーティーに戻り、発信者はローカルコンテキストで初期化されたオブジェクトを持っています。 Count

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

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