现在有个特殊需求,假设数组(Arr)中保存三个元素。
在画面A中,用到数组.length的长度希望是1,在画面B中,用到数组.length的长度希望是3.
想法是,在画面切换的click处理里,将数据length修改为1,但是数组中内容还是三个元素。
切换到另一个画面时,在把length 修改为3.
(现在代码中很多用length做判断的,如果每处都修改,太费事。)

解决方案 »

  1.   

    用一个function代替直接使用length;
    比如:function GetLength(byref arr() as Variant) as integer
        if ... then
            GetLength = 1
        else
            GetLength = 3
        end if
    end function使用的时候这样:
    ... = GetLength(Arr) ' 用来替换 Arr.length;
      

  2.   

    研究一下 ReDim Preserve
      

  3.   

    题主说的是VB.net吧。
    其实好几种做法
    1、用redim preserve (不知道vb.net里面是不是这个写法)但长度1变3没问题数据不会丢,3变1肯定要有数据损失啊
    2、用两个变量嘛
    3、都是长度三,程序代码自己去判断场景根据场景去判断取几个数。举个例子,定义一个变量,myArrLength ,变化场景的时候你打算变换数组长度的地方改成 myArrLength = 1 或 myArrLength  =3 。然后全代码替换 Arr.length 为 myArrLength