字符串比较在VB.NET中不起作用

时间:2012-03-21 08:09:03

标签: vb.net-2010

我的字符串比较不起作用。我尝试比较,等于,=并且所有这些方法都不起作用。 这是我的代码:

Dim activeChild2 = Me.ActiveMdiChild
    If TypeOf activeChild2 Is Window Then
        Dim activeChild As Window = Me.ActiveMdiChild
        If (Not activeChild Is Nothing) Then
            If activeChild.CTR_User.ToString = activeChild.User_name.ToString Then
                Call activeChild.Edition()

                Select Case Trim$(UCase(activeChild.Name))
                    Case "FRM_MISSION"
                      'treatment
                    Case "FRM_TACHE"
                        'treatment

                End Select
            Else
                MsgBox("Error modification!!!!", MsgBoxStyle.Critical)
            End If
        End If
    End If

问题在于如果activeChild.CTR_User.ToString = activeChild.User_name.ToString那么。尽管有相同的字符串toto = toto,代码总是触发到else子句并向我显示msgbox

此致

2 个答案:

答案 0 :(得分:1)

你为什么要打电话.ToString?是activeChild.CTR_User和activeChild.User_name字符串,还是您要比较的对象?

如果它们是对象,则无法将它们与.ToString()进行比较,因为它将是不准确的。你应该使用activeChild.CTR_User.Equals(activeChild.User_name)activeChild.CTR_User is activeChild.User_name之类的东西。除非我知道你正在使用什么类型,否则我无法真正给你具体细节。

您是否尝试在其上设置断点并在Visual Studio的许多调试工具中手动检查值?

答案 1 :(得分:0)

尝试使用 =

来代替 = 操作符

例如: 活动的Child.CTR User.ToString与活动的Child.User_name.ToString

类似