.NET 中的 ref 和 out 參數:何時使用?
.NET 中的 ref
和 out
參數允許按引用傳遞變量,使函數能夠直接修改呼叫方法中變數的值。雖然它們有相似之處,但有一個關鍵區別需要考慮。
Ref 參數
Out 參數
程式碼範例
考慮一個修改傳入整數的函數 Foo()
:
<code class="language-csharp">void Foo(ref int x) { x++; }</code>
如果使用 ref
參數將未初始化的變數傳遞給 Foo()
,則會導致錯誤,因為在修改引用之前必須將其設為某個值。
<code class="language-csharp">int y; // 未初始化 Foo(ref y); // 错误:调用方法前应初始化 y</code>
另一方面,如果使用 out
,即使未提供,函數也可以建立和輸出一個新變數:
<code class="language-csharp">Foo(out y); // 创建一个新变量并将其赋值给 y Console.WriteLine(y); // 输出:1(y 已由 Foo() 初始化)</code>
何時使用哪一個
以上是.NET 中的 Ref 與 Out 參數:什麼時候應該使用它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!