这个问题我一直不明白 当然返回True,你这里的语句ddd=""是判断字符串ddd是否为空字符串。如果是空字符串就会返回True,那么在msgbox以及vbscript中会显示True。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ""是空字符串,空指没有赋值(用IsEmpty判断为True) 但是存在的问题就是ddd是未初始化的变量,应该是个empty值而“”是空字符串而不是一个empty值,难道empty=not empty?? 你这样写相当于Dim b as Boolean,ddd as stringddd=""b=(ddd="") 'Truemsgbox b 你的意思是当执行msgbox ddd=""的时候,自动有了一步对ddd由variant型到字符型的转换工作?另外ddd=""是赋值而不是判断?怎么决定=号是赋值还是判断呢?谢谢 你要知道任何一个表达式都是有值的,ddd=""也是一个表达式,叫赋值表达式。它的作用是给变量赋值,它的值是true。也就是说如果你写ddd=""表示让变量ddd的值为空串,当你要用msgbox或if取这个表达式的值的时候,就是真。明白? 这是一个很基础但很难回答的问题,我做了试验,证明你这种说法是错误的binghuodao(冰火岛)兄你刚才说写ddd=""表示让变量ddd的值为空串,那就是赋给ddd为空串。那么如果我写ddd="aaa",同样也可以理解为表示让变量ddd的值为aaa,ddd="aaa"也是一个赋值表达式,它的作用是给变量赋值,但这时msgbox ddd="aaa"的结果不是true而是false了还有,如果ddd=""表示赋值的话,那么当这行程序执行完之后是不是ddd就应该是string型了呢?我在后面用VarType函数做了下测试,结果为0(vbEmpty)。说明这时ddd还是未初始化,不存在赋值的过程。如果执行ddd=""那vartype的结果应该是8(vbstring)以上是我实验结果 msgbox ddd="aaa"里面的等于并不是赋值,而是判断,判断变量ddd是否等于"aaa"如果不等于,结果就是在msgbox中显示False。看看下面的代码:Private Sub Command1_Click() Dim x x = 1 = 2 Debug.Print xEnd Sub你就明白了 怎样捕获 WebBrowser 尺寸改变呢??? 叶帆新版【API浏览器 V4.0.132】--欢迎大家支持(依然免费注册) Mschart控件打印不一致,晕! 请教各位大侠,自制控件移动问题!在线等待,急!!! 怎样把重新定位一个正在运行应用程序的坐标 求助!各位大侠请多多帮忙! vb问题 各们大侠,请帮帮忙,将下面的题目用VB程序写出来,万分感谢! 在vb中写一个解密程序,或给我一个解密软件就给100分! 在vb中怎么玩多线程? 如何实现在VB中的非常头痛报表打印问题? 怎样动态加载控件数组元素
而“”是空字符串而不是一个empty值,难道empty=not empty??
Dim b as Boolean,ddd as string
ddd=""
b=(ddd="") 'True
msgbox b
当执行msgbox ddd=""的时候,自动有了一步对ddd由variant型到字符型的转换工作?
另外ddd=""是赋值而不是判断?
怎么决定=号是赋值还是判断呢?
谢谢
binghuodao(冰火岛)兄你刚才说写ddd=""表示让变量ddd的值为空串,那就是赋给ddd为空串。那么如果我写ddd="aaa",同样也可以理解为表示让变量ddd的值为aaa,ddd="aaa"也是一个赋值表达式,它的作用是给变量赋值,但这时msgbox ddd="aaa"的结果不是true而是false了还有,如果ddd=""表示赋值的话,那么当这行程序执行完之后是不是ddd就应该是string型了呢?我在后面用VarType函数做了下测试,结果为0(vbEmpty)。说明这时ddd还是未初始化,不存在赋值的过程。如果执行ddd=""那vartype的结果应该是8(vbstring)以上是我实验结果
里面的等于并不是赋值,而是判断,判断变量ddd是否等于"aaa"
如果不等于,结果就是在msgbox中显示False。看看下面的代码:
Private Sub Command1_Click()
Dim x
x = 1 = 2
Debug.Print x
End Sub
你就明白了