本文概述
参考单元引用存储位置。它允许你创建可变值。 F#默认使用不可变数据结构。
你可以使用ref运算符创建参考单元。它具有实际价值。
引用单元格可以使用取消引用! (砰)运算符。它使用:=运算符分配新值。
句法:
ref expression
F#参考单元格示例
let refVariable = ref 50
printf "%d" refVariable.Value
输出:
50
F#参考单元格Example2
let refVariable22 = ref 50
printf "%d" refVariable.Value
refVariable22 := 100 // Value has changed because it is mutable.
printf "\n%d" refVariable22.Value
输出:
50
100
F#参考单元格的值属性和内容字段示例
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
F#参考单元与可变变量
引用单元格和可变变量都可以在所有情况下使用, 但编译器不允许在lambda表达式, 序列表达式等中使用可变变量。在这种情况下, 可以使用引用单元格。
评论前必须登录!
注册