标准化使用Option Compare Text与Option Compare Binary进行VB.NET开发的优缺点是什么?
---编辑---
只是一些背景,因为它似乎将帮助-我的开发团队已经发现它更容易实现标准化Option Strict On
,Option Infer On
以及Option Explicit
由于对替代品的优势明显.我们没有发现容易标准化的选项比较文本/二进制文件,因为两者似乎都有优点和缺点,不同的开发人员有不同的意见.每一方的一些论点如下:
Option Compare Text的一些优点/参数:
StringComparer
s和.ToLower()
调用以及StringComparison.OrdinalIgnoreCase
整个地方的需要来减少代码中的冗长THIS
并This
和this
时做一个数据比较.Select Case
对报表<asp:repeater>
项目为例.Option Compare Binary的一些优点/参数:
THIS
不同于This
和tHiS
.当然你的代码也应该 - 毕竟,它们并不是完全相同的字符串.所以我真的只是想知道是否还有其他考虑因素.
- 编辑2 -
如果我定义了我认为对此的答案,也许会有所帮助.如果您可以指出任何权威的外部资源,更彻底地讨论这些问题,或指向标准和最佳实践讨论或书籍,提供有关该主题的指导,那肯定会重要.
And*_*per 10
随着Option Compare Text
你不需要比较字符串时担心的情况.这可能是一个很大的好处,并且避免将所有内容转换为较低(或较高)的情况,而将comapre转换为字符串相等.
这个角色的另一个地方是字符串的排序. Option Compare Text
将像Windows中的文件列表一样排序,但Option Compare Binary
将排序为Unix文件列表(所有大写文件名都出现在小写文件名之前).
更新
在阅读了评论和其他答案之后,我想说的Option Compare Binary
是从与.Net框架的其余部分保持一致的角度出发.如果字典键等区分大小写,无论Option Compare
设置如何,那么在整个代码中默认使用二进制比较只是保持一致.然后,您需要担心的是,对于特定的比较,您是否需要它不区分大小写并为此编写代码.
如果你继续使用,Option Compare Text
那么你不仅需要担心是否需要进行特定的比较才能得到大小写(敏感),你还需要了解当前上下文中的默认行为.
然后它成为一个不与其他语言一致的论据,而是与你正在发展的框架的一致性.
使用二进制文件,就像大多数其他语言默认使用的那样,这就是.NET类默认的类型.
弄乱单个单词不应该破坏整个文件.
如果你真的需要文本(通常不是这样),那么只需使用String.Compare
或String.Equals
.
归档时间: |
|
查看次数: |
7276 次 |
最近记录: |