-3

您好,我想对两个字符串进行比较,第一个在给定的基数中,另一个从 检索TextBox,但结果始终是do

Imports System.Data
Imports System.Data.SqlClient
Imports System.Text.RegularExpressions

Public Class Form1

    Private Sub Bcon_Click(sender As Object, e As EventArgs) Handles Bcon.Click

        Dim cnn As SqlConnection = New SqlConnection("Data Source=BANIX;Initial Catalog=mydb;Integrated Security=True;Connect Timeout=15;Encrypt=False;")
        Dim cmd As New SqlCommand("select * from utilisateurs", cnn)
        Dim rd As SqlDataReader

        Dim sr As String = vbNullString

        Try
            cnn.Open()
            rd = cmd.ExecuteReader
            While rd.Read
                sr = rd.GetString(1)
                RTB.AppendText(Environment.NewLine & "DB login = " & sr)
                RTB.AppendText(Environment.NewLine & "TBLogin = " & TBlogin.Text)
                RTB.AppendText(Environment.NewLine & "IsMatch sr:" & Regex.IsMatch(TBlogin.Text, sr))
                RTB.AppendText(Environment.NewLine & "Equals sr : " & String.Equals(TBlogin.Text, sr))

                If (TBlogin.Text = sr) Then
                    RTB.AppendText(Environment.NewLine & "Identique")
                Else
                    RTB.AppendText(Environment.NewLine & "n'est pas Identique")
                End If
            End While
            rd.Close()

        Catch ex As Exception
            RTB.AppendText(Environment.NewLine & " cannot connect !")
        End Try

        cnn.Close()

    End Sub

End Class
4

1 回答 1

1

你必须清楚地知道你的意思identical,例如对内存中相同字符串的引用或按位等价,等于不区分大小写......

要检查两个字符串是否相等,您使用了示例string.equals中的一种方法

另一种方式是String.Compare(str1,str2),它返回一个整数值,当两个字符串相等时,该值将为0。当str1小于str2该值时将小于零,当str1大于str2该值时将大于零。此方法具有不同的重载,允许您控制比较字符串的方式,具体取决于您认为等效的内容。MSDN有使用示例。

下面不区分大小写的示例将“相等”输出到控制台

  Dim str1 As String = "TestString" 
  Dim str2 As String = "teststring" 
  If String.Compare(str1, str2, StringComparison.OrdinalIgnoreCase) = 0 Then
      Console.WriteLine("Are Equal")
  Else
      Console.WriteLine("Are Not Equal") 
  End If 
于 2013-05-01T09:19:10.517 回答