以下是在立即窗口中的内容:
---------------------------------
?s(0)
人员设置(&E)
?s(1)
人员设置(&E)
?"人员设置(&E)"="人员设置(&E)"
True
?s(0)=s(1)
False
--------------------------------
s()为string
s(0)怎么不等于s(1)?????????????????????

解决方案 »

  1.   

    s(0)和s(1)是在程序中赋的植,我有个判断
    if s(0)=s(1) then
         …………
    end if
    实际上s0=s1的,但在程序中却被判断为不等,于是在立即窗口中查看,上面就是结果
    我的问题是s0为什么不等于s1???
      

  2.   

    付值时是这样的么应该没问题
    s(0)=s(1)
    付完值后不要改变s(0),s(1)
      

  3.   

    Private Sub Form_Load()
    Dim s(2) As String
    s(0) = "人员设置(&E)"
    s(1) = "人员设置(&E)"
    Debug.Print s(0) = s(1)
    End Sub我这就可以
    估计你代码里面有改变s(0)或s(1)的内容的语句
      

  4.   

    自己搞定咯,原来第二个字符串后面还有2个ascii码,看值看不出来,取长度就看出来了
      

  5.   

    你把程序拿出来看下我做了个测试是可以的
    Option ExplicitPrivate Sub Command1_Click()
    Dim s(1) As String
    s(0) = "人员设置(&E)"
    s(1) = "人员设置(&E)"
    If s(0) = s(1) Then
        MsgBox "true"
    End If
    End Sub
      

  6.   

    s(0)是直接取的caption ,s(1)是从数据库中取值的,顺便给大家说下,2000下读取ini文件也存在类似的问题,最后一个字符的asc码=0
      

  7.   

    0,10,13这几个asc码用chr转过来类似空格,但用trim去不掉的
      

  8.   

    只有字符形的才可以用trim来去的
      

  9.   

    0就是NULL
    10是换行符
    13是回车符VB中的常量vbnewline = chr(13) & chr(10)你在记事本中按一下回车就想当于输入一个 chr(13) & chr(10)