2012-03-21 5 views
0

문자열 비교 기능이 작동하지 않습니다. 비교해 보았습니다. 같음, = 및이 모든 메서드가 작동하지 않습니다. activeChild.CTR_User.ToString = activeChild.User_name.ToString 그런 다음 같은 문자열 토토을 갖는에도 불구하고 .IN = 토토 코드는 항상 다른 절에 화재 나를 보여 주면VB.NET에서 문자열 비교 기능이 작동하지 않습니다.

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 

문제가있는 것입니다 : 여기 내 코드입니다 msgbox

감사합니다.

+0

'경우 경우 두 문자열을 비교할 때 비교할 때 ToString을 사용할 필요가 없습니다. 그것들이 문자열이 아니라면,'ToString'의 결과는 거의 항상 일치하지 않을 것입니다. –

+0

네가 맞아서 객체와 문자열을 비교하는 솔루션은 무엇입니까? CTR_user는 객체이고 user_name은 문자열입니다 – YosrJ

답변

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의 많은 디버깅 도구에서 중단 점을 설정하고 값을 수동으로 확인해 보았습니까?

+0

문제를 파악하는 데 도움이 된 답변을 많이 주셔서 감사합니다. 실제로 CTR_user는 개체입니다 (치료의 텍스트 상자에 영향을 미칩니다). 그리고 user_name은 문자열이므로 값을 비교할 수 없습니까? 나는 수동으로 디버깅하고 두 variabl ("admin"= "admin") 같은 값을 찾았습니다 – YosrJ

+0

아무런 문제가 없기 때문에 기꺼이 도움이 될 것입니다 :) – Spikeh

0

대신 = 연산자를 사용

처럼 예를의 시도 : activeChild.CTR_User.ToString처럼 activeChild.User_name.ToString이 activeChild.CTRL_User`와`activeChild.User_name`이

관련 문제