4

私はC#を使用していますが、VBの経験はなく、VBもインストールされていません。私はそれがどのように機能するかを理解するために以下のコードを見てきました、誰かがこれを見ることができますか?

したがって、Catandを指定してこのメ​​ソッドを呼び出し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

それは奇妙なコードです。とにかく、3番目の引数のデフォルトはvbBinaryCompareそれを意味し"Cat"等しくない"cat"ものを比較します。それらを同等に比較するには、を渡す必要があります。vbTextCompare

これがコードが奇妙な理由です:それは完全に冗長です。直接電話することもできますStrComp

于 2012-11-08T15:56:02.307 に答える