F#区分大小写吗?

Joa*_*nge 5 f# case-sensitive case-insensitive

我在这里和网上搜索但没有回答.

我问的原因是,由于F#约定似乎他们喜欢非大写字母,使用带有Pascal约定的BCL类型在F#中看起来很奇怪,如:

let stringD = String.Join(" ",[| stringA; stringB |])
Run Code Online (Sandbox Code Playgroud)

看起来它更符合F#的精神:

let stringD = string.join(" ",[| stringA; stringB |])
Run Code Online (Sandbox Code Playgroud)

Bri*_*ian 8

好的,一些事情.

首先,F#区分大小写.

其次,命名的F#约定在F#组件设计指南 中描述.简而言之,F#模块中的let-bound成员使用camelCase,但所有.NET OO构造都使用PascalCase.整个F#库都是如此.

最后,在F#string中不是关键字,而是它是类型缩写(for System.String)的名称和函数的名称(转换为字符串).在表达式上下文中string.Join,函数名称优先,这就是为什么string.Join不起作用.并且由于区分大小写,System.String.join将永远不会工作(除非您添加了扩展成员).