4

我做 C#,没有使用 VB 的经验,也没有安装任何 VB。我一直在查看下面的代码以了解它是如何工作的,有人可以看看吗?

Cat因此,如果我用and调用此方法cat并且不传递可选参数,它是否返回 true 并表示Catandcat相等?

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
4

1 回答 1

12

这是一些奇怪的代码。无论如何,第三个参数的默认值是vbBinaryCompare这意味着"Cat"并且"cat"将比较不相等。要让它们比较相等,您需要通过vbTextCompare.

现在这就是代码奇怪的原因:它完全是多余的。你可以直接打电话StrComp

于 2012-11-08T15:56:02.307 回答