Rujuk dan keluar parameter dalam .NET: bila hendak menggunakannya?
Parameter ref
dan out
dalam .NET membenarkan pembolehubah dihantar melalui rujukan, membolehkan fungsi mengubah suai secara langsung nilai pembolehubah dalam kaedah panggilan. Walaupun mereka mempunyai persamaan, terdapat perbezaan utama untuk dipertimbangkan.
Parameter rujuk
Parameter keluar
Contoh Kod
Pertimbangkan fungsi yang mengubah suai integer yang dihantar dalam Foo()
:
<code class="language-csharp">void Foo(ref int x) { x++; }</code>
Jika anda menghantar pembolehubah yang tidak dimulakan kepada ref
menggunakan argumen Foo()
, ia akan menyebabkan ralat kerana rujukan mesti ditetapkan kepada nilai sebelum ia boleh diubah suai.
<code class="language-csharp">int y; // 未初始化 Foo(ref y); // 错误:调用方法前应初始化 y</code>
Sebaliknya, jika anda menggunakan out
, fungsi itu boleh mencipta dan mengeluarkan pembolehubah baharu walaupun tidak disediakan:
<code class="language-csharp">Foo(out y); // 创建一个新变量并将其赋值给 y Console.WriteLine(y); // 输出:1(y 已由 Foo() 初始化)</code>
Bila nak guna yang mana
Atas ialah kandungan terperinci Ruj lwn. Parameter Keluar dalam .NET: Bilakah Anda Harus Menggunakan Setiap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!