我确信这与这里发生的内部情况有关。希望有人能澄清一下。
我正在访问一个 C# 友好的库。
我有一个充当数组的特定对象(它是来自 lib 的用户定义类型)。在 C# 中我可以调用。
myObject[0] = 1
我这样做没有错误。
如果我尝试在 F# 中执行以下操作,则会出现错误 -The expression was expected to have type float32 but instead has type int.
myObject.[0] <- 1
这行得通。
myObject.[0] <- float32 1
所以问题是,为什么在 C# 中这种类型转换是自动发生的,而在 F# 中却不是?我可以在 F# 中做些什么来清理这样的东西吗?