2009-12-20 66 views

回答

3

如何编写一个扩展方法,使这个短的不区分大小写字符串比较方式。

+3

精彩的建议,只是为了扩大在你回答我用下面的 让(=?)s1 s2 = System.String.Equals(s1,s2,System.StringComparison.CurrentCultureIgnoreCase) – Joshua 2009-12-20 20:09:33

7

此外,您还可以使用F# type extensions力学:

> type System.String with 
- member s1.icompare(s2: string) = 
-  System.String.Equals(s1, s2, System.StringComparison.CurrentCultureIgnoreCase);; 
> "test".icompare "tEst";; 
val it : bool = true 
0

对于任何有兴趣的,部分活跃了这种模式:

let (|InvariantEqualI|_|) (str:string) arg = 
    if String.Compare(str, arg, StringComparison.InvariantCultureIgnoreCase) = 0 
    then Some() else None 
let (|OrdinalEqualI|_|) (str:string) arg = 
    if String.Compare(str, arg, StringComparison.OrdinalIgnoreCase) = 0 
    then Some() else None 
相关问题