zoukankan      html  css  js  c++  java
  • vb.net对循环内的变量分配和初始化的处理

    下面两段代码会各有什么输出呢:
    1.
      For i As Integer = 0 To 3                
             Dim j As Integer = 10
                    Debug.WriteLine(j)
                    j += 1
                Next
    2.
    For i As Integer = 0 To 3
                    Dim j As Integer
                    Debug.WriteLine(j)
                    j += 1
                Next

    答案是:
    1.
    10
    10
    10
    10
    2.
    0
    1
    2
    3
    通过上面的例子可以猜测vb.net处理循环内变量的方式是:1次分配,若有初始化值的将每次循环中都会赋初始化值,否则只在首次分配时初始为(内存)0。
    这也说明循环内变量与同样定义的函数范围变量不等效。
    因此如果要防止像代码2那样的保持修改效应,应该明确写上变量在循环开始每次应初始化为什么值。
  • 相关阅读:
    AutoLayout动画
    实现毛玻璃效果
    合并静态库
    GCDAsyncSocket~
    iOS下URL编码
    OC多线程之GCD ----- 2
    堆和栈的区别
    Effective Objective-C 2.0重读笔记---2
    Android手机端抓包方法
    Android APK反编译
  • 原文地址:https://www.cnblogs.com/Render/p/474309.html
Copyright © 2011-2022 走看看