String VB6字符串比较是否不区分大小写?

String VB6字符串比较是否不区分大小写?,string,vb6,String,Vb6,如果strValue='Hello',那么(strValue'Hello')的值是多少?否,它区分大小写(默认情况下,至少要检查-如果选项Compare设置为Binary或not set,那么它区分大小写,如果设置为text,那么它不区分大小写) Lcase()如果您希望它不区分大小写,则两边都是 我之所以喜欢这个选项而不是更改/设置选项比较,是因为查看代码的人不必去搜索设置了什么选项比较来理解它的行为,但它几乎肯定会慢一些(除非您反复调用它,否则不会太明显)有些人可能会认为它不是特别整洁。这取

如果strValue='Hello',那么(strValue'Hello')的值是多少?

否,它区分大小写(默认情况下,至少要检查-如果选项Compare设置为Binary或not set,那么它区分大小写,如果设置为text,那么它不区分大小写)

Lcase()如果您希望它不区分大小写,则两边都是


我之所以喜欢这个选项而不是更改/设置选项比较,是因为查看代码的人不必去搜索设置了什么选项比较来理解它的行为,但它几乎肯定会慢一些(除非您反复调用它,否则不会太明显)有些人可能会认为它不是特别整洁。

这取决于您如何使用该语句。这两种方式都可以

Option Compare Text 'Case insensitive'
Option Compare Binary 'Case sensitive (default)'
这里有一个问题。

问题相当清楚

如果使用
选项,请比较
模块[文件顶部],字符串比较不区分大小写。
如果使用
选项Compare Binary
,则比较区分大小写。
如果使用
选项Compare Database
[仅在Access VBA中有效],则比较方法由当前数据库设置


或者UCase也会做同样的事情。或者使用StrComp(strVal1、strVal2、vbtextcomper)可能值得一提的是,我这样做而不是使用选项compare的原因是我更喜欢在比较中显式地进行比较,而不是让阅读代码的人找到修改默认行为的东西。部分错误,它并不总是区分大小写的。这取决于源文件中的选项比较设置。(从您的评论中您显然知道-您可能想修改您的答案?)避免非默认选项比较设置的另一个原因是,它为任何将例程复制到另一个项目的人设置了一个陷阱。为这一点编写一个极其简单的测试难道不是更容易、更确定吗?卡尔,我正要这么说。大多数人没有VB6解释器,但OP显然有虽然VBA的行为是一样的,而且大多数人都有…@Carl-当然,在没有可靠调试工具的情况下对经典ASP VB代码进行简单的单元测试听起来很棒。或者你不能在这里发表评论,而实际上回答了这个问题。我在开玩笑。我没有设置vb6环境,也没有使用sourcesafe的查看器查看代码。想留下评论吗?