我有一个简单的 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/