.NET の ref パラメータと out パラメータの違い [重複] 質問する

.NET の ref パラメータと out パラメータの違い [重複] 質問する

ref.NET のとパラメータの違いは何ですかout? 一方が他方よりも便利な状況とはどのようなものですか? 一方が使用できて他方が使用できないコード スニペットはどのようなものですか?

ベストアンサー1

これらはほぼ同じです。唯一の違いは、パラメータとして渡す変数はout初期化する必要がないのに対し、refパラメータとして渡す場合は何かに設定する必要があることです。

int x;
Foo(out x); // OK

int y;
Foo(ref y); // Error: y should be initialized before calling the method

Refパラメータは変更される可能性のあるデータ用であり、outパラメータは関数の追加出力であるデータ用であり、int.TryParseその戻り値は既に何かに使用されています (例: )。

おすすめ記事