c# - 从 F# 初始化 C# 结构?

标签 c# struct f# c#-to-f#

我有一个简单的 C# 结构,我想从 F# 中使用它:

public struct Stat : IEquatable<Stat>
{
    public ulong st_dev;
    public long st_blocks;
}

我发现这样做的方式对我来说感觉太 C# 且可变:

stbuf <- new Stat()
stbuf.st_blocks <- 0
stbuf.st_dev <- 1

更不用说在 C# 中我可以使用漂亮的 new Stat { st_blocks = 0, st_dev = 1 }语法糖...

现在我正在转换为 F#,我开始对赋值运算符 <- 过敏。 ,那么有什么办法可以改善这个问题吗?

最佳答案

构造函数中有设置属性或可变字段的语法:

stbuf <- Stat(st_blocks = 0L, st_dev = 1UL)

请注意,您不需要 F# 中的 new,除非通常建议在 IDisposable 事物上使用它。另请注意指定适当类型的文字所需的后缀。

关于c# - 从 F# 初始化 C# 结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21033105/

相关文章:

c# - 如何限制每秒对网络服务器的 HttpWebRequest 数量?

c - typedef 结构 : unknown name

c - 如何在 C 函数中设置未初始化指针的值?

c - C 中的前向结构声明;不工作

f# - 如何用货币建模实体?

c# - .NET 数字签名如何工作?

c# - 在接口(interface) c# 8 中使用静态、内部和 protected 访问修饰符

c# - 在静态泛型方法中获取当前类型?

oop - 内部和私有(private)有什么区别

f# - 如何在 f# 中读取 gzip 文件?