在F#中从char到char []的隐式转换?

时间:2014-11-20 10:01:58

标签: f#

为什么String.Split接受char,尽管它需要char []

let c = '.' // char
"aa.bb".Split(c) // works! although Split requires char[]

从char到char []的隐式类型转换无法解释它,如下所示:

let f (cs : char[]) = ()

f('a') // error: expected char[]

1 个答案:

答案 0 :(得分:3)

String.Split并不会将char[]作为参数。它实际需要params char[]。因此,编译器可以完成一些魔术,只需一个char即可进行调用。