簡體   English   中英

F#:如何在參數上聲明和使用ByRef語義?

[英]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

可變變量也存在(盡管使用refmutable變量之間存在重要差異,其中任何一個都可以用於許多相同的目的)。 關於此主題的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM