西安音乐学院怎么样:VB里什么叫表达式阿?(单个)(不同)

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 22:49:49
select case 只能对单个表达式求值
if 块结构可以对不同的表达式求值
这是什么意思?
请具体解释一下表达式吧。
问题比较弱质,谢谢大家了

关于select case 只能对单个表达式求值我在资料里并没有找到相关的说明,而且这个说法本身是不完整的,可以说是不可取的,因为从VB中任何的语句情况分析,也不能得出这样的结论,以下是我的说明:

这里是MSDN的定义
表达式
关键字、运算符、变量、字符串常数、数字或对象的组合。表达式可用来执行运算、操作字符或测试数据。

举点例子
比如(a+b)
这里的a,b可以是数字变量,也可以是字符变量,还可以是逻辑型的变量

以下是select case 和If对于表达式的区别例子
select case A
case A1
case A2
...
case An
case else
end select
这里的代码只对A求值,求出A的值以后与后面的分支条件A1..An表达式求出的值相比较来决定操作。select 的求值一般只包括select case 后面的A,其他的条件很少有人写成这样的,比如一个表达式a/3。很少不是没有,VB6中的确可以这样使用比如被选的A和A1..An这几个表达式全部可以是多重的,比如以下的代码是可以用的:
Dim a As Single, c As Single, b As Single
a = 4
c = 6
Select Case a / 2 And b
Case c / 3 And a: MsgBox "C/3"
Case Else
End Select
以上的语句就同时处理了两个表达式a / 2 And b和c / 3 And a
再看块if语句例子
If A<A1 and A>A3 Then

[statements]

ElseIf A=100 Then

[elseifstatements] ...

[Else

[elsestatements]]

End If
以上的代码也处理A<A1 and A>A3和A=100。

以上文字如有问题和新见解,欢迎来信thecolors@126.com赐教

if a > 100 then
...
end if

a > 100 就是表达式