使用默认值创建记录实例
Create record instance with default values
我有一个记录类型:
type Person =
{
Name : string
Age : int
}
而且我需要一个函数,其中 returns 此记录的新实例具有默认(从 C# 的角度来看)字段。
我可以这样做:
let f =
{
Name = ""
Age = 0
}
但我想避免所有字段枚举并使用如下内容:
let f = new Person
有什么办法吗?
已使用 unchecked.DefaultOf<'t>
。但是请注意,F# 记录是不可变的,因此这可能不是您想要的。
F# 允许添加 methods/properties 到记录和区分联合:
type Person =
{
Name: string
Age: int
}
with
static member Default = { Name = ""; Age = 0 }
在 FSI 中:
> Person.Default;;
val it : Person = {Name = "";
Age = 0;}
我有一个记录类型:
type Person =
{
Name : string
Age : int
}
而且我需要一个函数,其中 returns 此记录的新实例具有默认(从 C# 的角度来看)字段。
我可以这样做:
let f =
{
Name = ""
Age = 0
}
但我想避免所有字段枚举并使用如下内容:
let f = new Person
有什么办法吗?
已使用 unchecked.DefaultOf<'t>
。但是请注意,F# 记录是不可变的,因此这可能不是您想要的。
F# 允许添加 methods/properties 到记录和区分联合:
type Person =
{
Name: string
Age: int
}
with
static member Default = { Name = ""; Age = 0 }
在 FSI 中:
> Person.Default;;
val it : Person = {Name = "";
Age = 0;}