在C#中,您可以编写string.Join
和String.Join
。但在F#中不能写字符串。Join,但只有String.Join。为什么?字符串不是.NET字符串类的类型别名吗?
在F#string
中,根据它的使用位置,是一个类型别名或函数:
string 12 // this stringifies '12'
let f (s: string) = ... // here 'string' is a type alias for 'System.String'
所以像Join
这样的静态成员不会坐在string
上。它们可通过String
获得。如果您创建了自己的别名,那么您可以通过.
访问静态成员。
在C#中,string
和String
始终引用相同的System.String
。