C# でのクラス フィールド割り当てでの参照の保持
クラス フィールドへの参照によって値を割り当てようとすると、予期しない動作が発生する可能性があります。提供された例では、フィールドに「ref パラメーター」を割り当てると参照が失われます。
制限について
C# では、フィールドの参照としての宣言が制限されています。変数。これは、次のような潜在的な影響によるものです。
制限の克服
真の参照フィールドは不可能ですが、代替手段があります:
オプション 1 : ラッパークラスの作成
ラッパーを作成できます参照される値をプロパティとして保持するクラス。このクラスは、参照を効果的に保持しながら、値を取得および設定するメソッドを提供できます。
public class Wrapper { public int Value { get; set; } } ... Wrapper wrapper = new Wrapper { Value = 123 };
オプション 2: ラムダ式を使用する
ラムダ式を使用すると、次のことができます。参照される変数のゲッターとセッターを定義します。これにより、デリゲートを通じて変数への参照が割り当てられます。
public delegate int Getter(); public delegate void Setter(int value); ... Getter getter = () => y; Setter setter = z => { y = z; };
結論
ref フィールド制限の背後にある理由を理解し、ラッパー クラスなどの代替手法を使用することによってまたはラムダ式を使用すると、C# のクラス フィールドの割り当てで参照のような動作を実現できます。
以上がC# でクラス フィールドに値を割り当てるときに参照を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。