我做C#,没有VB的经验,我没有安装任何VB.我一直在看下面的代码,了解它是如何工作的,有人可以看看这个吗?
因此,如果我用Cat和调用此方法并且cat不传递可选参数,它是否返回true并说Cat并且cat相等?
Public Function AreStringsEqual(ByRef sString1 As String, ByRef sString2 As String, Optional ByVal eCompareMethod As VbCompareMethod = vbBinaryCompare) As Boolean
If LenB(sString1) = LenB(sString2) Then
If LenB(sString1) = 0 Then
AreStringsEqual = True
ElseIf eCompareMethod = vbBinaryCompare Then
AreStringsEqual = (InStrB(1, sString1, sString2, eCompareMethod) <> 0)
Else
AreStringsEqual = (StrComp(sString1, sString2, eCompareMethod) = 0)
End If
End If
End Function
Run Code Online (Sandbox Code Playgroud)
Kon*_*lph 12
这是一些奇怪的代码.无论如何,第三个参数的默认值vbBinaryCompare意味着"Cat"并且"cat"将比较不相等.为了使它们相等,你需要通过vbTextCompare.
现在这就是为什么代码很奇怪:它完全是多余的.你可以直接打电话StrComp.