【发布时间】:2015-09-22 10:54:12
【问题描述】:
在Best Practices for Using Strings in the .NET Framework 中,我们鼓励在比较字符串时提供正确的StringComparison。我同意这一点,但我看到与其他方法不同,String.Split() 实际上没有带有比较参数的重载。
是否有相当于 String.Split() 在框架中某处进行字符串比较,还是我应该自己编写?
【问题讨论】:
-
什么选项对
String.Split有意义?定界符通常没有有大小写。您可能会争辩说使用字母作为分隔符是一个错误。您发布的链接谈论比较,而不是拆分。如果您想要一种灵活的方式来解析字符串,最好使用可以匹配特定大小写、重音符号和字符类的正则表达式。 -
已记录使用
Ordinal比较。显然,开发人员认为这是唯一对Split()这样的方法有意义的方法。考虑到分隔符列表是char[],这可能是唯一有意义的。string[]分隔符可能遵循相同的一致性规则。
标签: .net string unicode equality case-sensitive