for它可以一次也不执行。
创新互联公司提供高防物理服务器租用、云服务器、香港服务器、中国电信成都枢纽中心等
while它可以一次也不执行。
do...while它可以至少执行一次。
要弄清楚这两个问题,就要明白For循环语句的语法规则:
For循环语句,首先是判断循环条件,如果循环条件不合理,则循环不执行。
那么看第一个语句,循环范围是 i = -3.5 to 5.5,显然这个是一个从-3.5到5.5的递增范围,可是后面的Step却是一个负数,表示以0.5的步长递减。取值范围要求从小到大,可是步长改变却是由大变小,显然这个循环条件自相矛盾,所以循环将不会执行,也就是循环执行的次数是0次!
如果循环条件合理,则开始执行循环语句,直到根据步长变换,下一个值超出循环范围则终止。
For j = 6 to 2 Step -2
Next
完整写法就是:
For j = 6 to 2 Step -2
Next j
Next j的意思就是下一个j值。结合本题,下一个j值等于6-2=4,这个时候,就是循环语句的第二个规则,判断循环变量的值是否超出循环范围,我们这里的j=4,显然是在6 to 2这个范围之内,所以循环继续,到下一个j的时候为2,依然在循环范围内;到这里,6,4,2我们的循环执行了3次,准备第4次循环的时候j = 2 -2 = 0超过了6 to 2这个范围,那么循环终止。
所以i循环内的每一个j循环将执行3次。
//函数层
VB支持局部Static变量
C#不支持
VB支持数组的最后一唯大小可变
C#的数组大小不能改变
VB的Try Catch语句支持Exit Try直接进入Finally
C#无类似语句
VB的Catch可以带When子句 使用 NET的异常filter功能有选择的进行捕获
C#完全不支持这一功能
VB可以使用传统的On Error方法 非结构化地处理异常C#仅支持结构化
C#支持使用checked语句暂时打开或关闭整数溢出检查
VB仅支持整个项目级别处理
VB支持使用函数名作为返回变量 也支持Return
C#只支持Return
VB的Try Using For For Each等语句支持使用前边定义的变量
C#的对应语句只能在语句开始处定义
C#可以支持unsafe语法有限地支持指针和stack数据的访问
VB不支持
C#支持yield return语法的迭代器生成
VB不支持
C#支持delegate语句就地生成支持closure的匿名方法
VB不支持
C#支持在委托与方法结合的过程中使用协变和反边规则
VB则只能使用完全匹配规则
VB和C#的循环和分支有若干次要差别
C#支持nullable类型的运算符跨类型支持
VB需要手工完成同样功能
VB支持用实例访问类的静态成员
C#只支持类明访问
VB支持按照非虚函数的规则 调用自身类型定义的一个虚函数
C#不支持这一功能
类库层
VB有一个非常好用Microsoft VisualBasic dll 实现了许多帮助函数 Application Framework应用程序框架 My命名空间等C#只能望眼欲穿了……
C#以out/ref或者大小写区分不同函数 这就是不符合CLS的
VB的每个特性几乎都是CLS兼容的(即使是那些C#不支持的) 在VB中使用不会从根本上影响到与C#的交互
lishixinzhi/Article/program/net/201311/15508