📅  最后修改于: 2021-01-01 14:27:19             🧑  作者: Mango
参考单元引用存储位置。它允许您创建可变值。 F#默认使用不可变数据结构。
您可以使用ref运算符创建参考单元。它拥有实际价值。
引用单元格可以使用取消引用! (砰)运算符。它使用:=运算符分配新值。
句法:
ref expression
let refVariable = ref 50
printf "%d" refVariable.Value
输出:
50
let refVariable22 = ref 50
printf "%d" refVariable.Value
refVariable22 := 100 // Value has changed because it is mutable.
printf "\n%d" refVariable22.Value
输出:
50
100
let refVariable = ref 50
// modifying value by using Value property and <- operator
refVariable.Value <- 101
printf "\n%d" refVariable.Value
// modifying value by using contents field and <- operator
refVariable.contents <- 102
printf "\n%d" refVariable.contents
输出:
101
102
引用单元格和可变变量都可以在所有情况下使用,但编译器不允许在lambda表达式,序列表达式等中使用可变变量。在这种情况下,可以使用引用单元格。