asp动态数组

asp动态数组

本文所说的 ASP 数组是指在 ASP 中以默认语言 VBScript 为语言的数组。

样例:

Dim   MyArray()   
    for   i   =   0   to   10   
    ReDim   Preserve   MyArray(i)   
    MyArray(i)=i  
    next 

下标

  • ASP 数组的下标也是从 0 開始的。
  • 要获取某个元素的值则在数组变量后面加上括号,括号里标明下标值,比方 arr(0),注意不是中括号,而是小括号。

定义

dim arr() ‘定义动态数组

dim arr2(2) ‘定义静态数组

在变量名称后面加上括号,就形成了数组。假设括号里指定了数值,就表示定义一个静态数组,即固定大小的数组。

代码中

  • arr() 定义一个动态数组,须要重定义确定长度后才干使用,关于重定义请參见后面。
  • arr2(2) 定义一个下标上限是 2(长度为 3)的静态数组,这与其它语言(比方 C#、JavaScript)有所不同,其它语言的括号里參数表示长度。

erase

erase 动态数组时释放动态数组的存储空间;erase 静态数组时,仅仅是初始化数组的元素值。

dim arr()

redim arr(2)

erase arr

alert(ubound(arr)) 
‘错误,erase 已经将动态数组的存储空间所有释放。



dim arr(1)

erase arr

alert(ubound(arr)) 
‘显示 1,erase 仅仅是初始化静态数组的元素值,其占用的空间还在。 

重定义 redim

对于动态数组,能够重定义,重定义之后也能够继续重定义;不能对静态数组进行重定义。

dim arr()

dim arr2(2)

dim arr3()

redim arr(0) ‘将数组 arr 的下标上限设为 0(长度为 1)。

redim arr2(1) 
‘错误发生。

redim arr3(-1) 
‘正确,能够设置为 -1,以表示这个数组长度为 0。

如上重定义数组将导致该数组原有赋值丢失。

重定义 redim preserve

前面讲到重定义数组将导致该数组原有赋值丢失,怎么能保证不丢失呢?用 redim preserve。

dim arr()

 

redim arr(1)

arr(0) = “1”

alert(arr(0)) ‘显示 1

 

redim preserve arr(2)

alert(arr(0)) ‘仍然显示 1

UBound

ASP 数组没有获取长度的属性或方法,仅仅有获取下标上限的方法-UBound(数组名称),即数组下标的最大值,比方 UBound(arr)。

dim arr(1)

Response.Write(UBound(arr)) ‘ 显示上限 1,数组长度为 2



dim arr2()

redim arr2(-1) ‘ 能够为动态数组 redim 上限为 -1,但不能为其它负数,比方 -2 就会报“内存不够”。

Response.Write(UBound(arr2)) ‘ 显示上限 -1,数组长度为 0



dim arr3()

‘Response.Write(UBound(arr3)) ‘ 错误发生

Split

Split 将字符串分隔为数组,例如以下 arr2 是错误的。

dim arr

dim arr2() 
‘错误,这里不能有括号。

arr = Split(“1,2,3”, “,”)

arr2 = Split(“1,2,3”, “,”)
Dim   MyArray()   
  for   i   =   0   to   10   
  ReDim   Preserve   MyArray(i)   
  MyArray(i)=i  
  next 样例:
Dim   MyArray()   
  for   i   =   0   to   10   
  ReDim   Preserve   MyArray(i)   
  MyArray(i)=i  
  next 样例:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119175.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 文献精读(第二十七篇)——基于残差密集网络的图像超分辨率(RDN)「建议收藏」

    文献精读(第二十七篇)——基于残差密集网络的图像超分辨率(RDN)「建议收藏」一、文献梳理1、研究背景传统网络特点:增加了网络深度,使用残差,梯度裁剪等方法降低训练难度;使用memoryblock记忆块建立MeMNet,希望能够保存底层,浅层的特征。传统网络问题:不能充分使用每层的图片信息,大部分方法没有使用层次特征2、实验1)数据集设置训练数据集:DIV2K 训练数据增强:随机水平或垂直翻转90度 测试数据集:Set5、Set14、BSD100自然场景图像、Urban100城市场景图像2)训练集预处理BI方式:双线性插值、缩小比率2,8,16

    2022年6月20日
    25
  • nfs的默认端口号是什么

    nfs的默认端口号是什么默认是2049参考博客:https://www.cnblogs.com/powpoia/p/6553205.html

    2022年6月27日
    82
  • Redis选择数据库分区

    Redis选择数据库分区Redis-cli命令连接:redis-cli命令下选择数据库分区可以有2种方式:1、选择数据库(redis可以有多个数据库,默认情况下是连接数据库0,redis配置文件中通过databasesnum来配置数量)127.0.0.1:6379>select2OK2、那么我们登录的时候,如何制定登录哪个库呢?./redis-cli-n3指定登录下标为3的数据库./redis-cli-n0等价于./redis-cli默认登录下标为0的数据库即使…

    2022年5月7日
    55
  • 微信小程序上传图片失败总结[通俗易懂]

    微信小程序上传图片失败总结[通俗易懂]错误:selfsignedcertificate这个是请求地址需要输第三方认证的域名,这个需要后端人员配置。错误:微信开发工具上可以上传图片,但是到体验版不行提示请求失败这个应该是在微信公众号平台里配置uploadFile合法域名…

    2022年6月18日
    197
  • kali更新官方源「建议收藏」

    kali更新官方源「建议收藏」打开kali自带火狐浏览器,打开kalidocs书签页;搜索source打开第一个搜索内容,点击readmore找到官方源复制进/etc/apt/sources.list打开source.list命令:gedit/etc/apt/sources.list使用apt-getupdate命令更新软件列表。使用apt-getupgrade命令更新软件使…

    2022年5月28日
    59
  • ORA-02287: 此处不同意序号「建议收藏」

    ORA-02287: 此处不同意序号

    2022年1月28日
    57

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号