[英]F#: How do I declare and use ByRef semantics on parameters?
我正在使用輸入/輸出參數包裝一些SQL存儲過程。 這當然意味着我必須做一些丑陋的事情,例如通過引用聲明我的參數並使用mutables。
我怎么在F#中這樣做?
F#確實有一個byref
參數 。 以下是MSDN頁面中的示例:
type Incrementor(z) =
member this.Increment(i : int byref) =
i <- i + z
可變變量也存在(盡管使用ref
和mutable
變量之間存在重要差異,其中任何一個都可以用於許多相同的目的)。 關於此主題的MSDN頁面提供了非常豐富的信息 - 包括討論何時使用哪個關鍵字/構造。
參考變量示例:
// Declare a reference.
let refVar = ref 6
// Change the value referred to by the reference.
refVar := 50
可變變量的示例:
// Declare a reference.
let mutable refVar = 6
// Change the value referred to by the reference.
refVar <- 50
如您所見,賦值(以及檢索)的語法也在兩個構造之間不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.