各位大神 先磕头了 ——!
大量散分请教我最近被VB困扰的要命 来这里问问各位大神吧我想定义一个整形数组 num(4)
并且把它初始化为 2,5,1,7,8  反正就是没有规律的一组数,防止你们用FOR给我初始化了
在C里面是这样就能初始化了:
int num[5]={2,5,1,7,8};但是在VB里面怎么初始化  反正不能像C一样
有的地方说用这样:
dim num as variant
num=array(2,5,1,7,8)但是这样我觉得很不对头啊  这样num是数组吗?  他应该是一个variant类型的变量吧 
还有其中的元素是什么类型的  还是他根本就没有元素 整个就是一个变量各位大神赐教!!!!!!!!!!! 

解决方案 »

  1.   

    Array 返回的是一个包含数组的 Variant.是说的它的返回值.
    里面的元素类型可以variant类型,也可以是别的单纯一种类型(integer,string……).
    你要定义一个integer类型数组,直接
    dim a(2) as integer
    a(0)=1
    a(1)=6
    a(2)=134
    或者定义一个动态数组
    dim a() as integer
    用的时候redim a(2) 这样就限制了它的最大索引为2,默认下标是0
    去找MSDN看看吧,关键字"数组"
      

  2.   

    num为变体类型,其中的元素为变体或整数型。
    用For 初始化也可以的。  N = InputBox("请输入将要录入的数据个数", "提示")
      ReDim a(N)
      
      Randomize
      For i = 1 To N Step 1
        a(i) = Int(100 * Rnd)
      Next i
      

  3.   

    哈哈,num=array(2,5,1,7,8)你這是對的!不要懷疑自己!這是VB中的方法,各語言有自己的規格!
      

  4.   

    把一个整数类型的赋值给variant,运算时是会把此variant当成整数来处理,但运算效率会远远低于整数的运算效率....如果需要这大运算,赋值给variant后,最好循环一下这个variant,将值再赋值给整数数组......
      

  5.   


    Dim MyArray() As Integer   '声明动态数组。
    Redim MyArray(5)   '分配 5 个元素。
    For I = 1 To 5   '循环 5 次。
       MyArray(I) = I   '初始化数组。
    Next I
      

  6.   

    Dim MyWeek, MyDay
    MyWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
      

  7.   

    num=array(2,5,1,7,8),就得到一个variant数组,元素都是variant变量。
    如果你不习惯variant数组,可以如下<我用for给你初始化了:)>
    Private Sub Command1_Click()
       Dim a As Variant, num() As Integer
       Dim i As Integer
       
       a = Array(2, 5, 1, 7, 8)
       ReDim num(UBound(a))
       
       For i = 0 To UBound(a)
           num(i) = a(i)
       Next
       
    End Sub
      

  8.   

    谢谢各位的提示 真的非常感谢 
    大家都很热心 
    很多朋友的给了非常详细的回答 真的谢谢了
    我觉得chinaboyzyq(猴哥)的回答最好了 所以给他多点分 没有意见吧我还不会给分  先研究一下下  一会给你们分
    谢谢喽~