[解決済み】C#の参照型変数の "ref "の使い方は?
2022-04-12 10:21:28
質問
値型を渡すと(
int
,
struct
など)をパラメータとして指定します。
ref
キーワードを使用した場合、その変数のコピーがメソッドに渡されます。
ref
キーワードは、その変数への参照が渡され、新しい変数は渡されません。
しかし、クラスのような参照型では、たとえ
ref
キーワードを使用すると、コピーではなく、参照がメソッドに渡されます。では
ref
キーワードを参照型と一緒に使うことはできますか?
たとえば、次のような場合です。
var x = new Foo();
以下の違いは何ですか?
void Bar(Foo y) {
y.Name = "2";
}
そして
void Bar(ref Foo y) {
y.Name = "2";
}
解決方法は?
を変更することができます。
foo
を使用して指します。
y
:
Foo foo = new Foo("1");
void Bar(ref Foo y)
{
y = new Foo("2");
}
Bar(ref foo);
// foo.Name == "2"
関連
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] C#でメソッドをパラメータとして渡す
-
[解決済み】オブジェクトを渡すときに'ref'キーワードを使用するのはなぜですか?
-
[解決済み】PHPの配列は、値としてコピーされますか、それとも新しい変数への参照としてコピーされますか、そして関数に渡されたとき?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】URLから画像をダウンロードする方法
-
[解決済み] キーワード「ref」と「out」の違いは何ですか?