VB中陣列怎麼定義,vb中怎樣定義一個陣列

2022-03-03 12:17:29 字數 7407 閱讀 7336

1樓:大野瘦子

是這麼定義的:

陣列中的第一個元素的下標稱為下界,最後一個元素的下標稱為上界,其餘的元素連續地分佈在上下界之間,且陣列在記憶體中也是用連續的區域來儲存的,所以陣列每維的長度不能超過long資料型別的最大值,即264—1=263。

把vb.net陣列當作一個物件來處理,就意味著陣列型別是單個引用型別,陣列變數包括指向構成陣列元素、陣列維和陣列長度等資料的指標,陣列之間互相賦值但僅僅是在相互複製指標,陣列繼承了system名字空間的array類。

vb.net中的陣列有兩種型別:定長陣列和動態陣列。

1、陣列的使用

在』vb 6.0中,能夠用for each來迴圈遍歷一個陣列。

比如:dim x as integer

f0r each x in arrayl

console.writeline(x)

next

2、在vb.net中能夠使用for迴圈和陣列長度來遍歷一個陣列。

比如:dim i as工nteger

f0r i=0 t0  (arrayl.length-1)(此處空一行)

console.writeline(arrayl(1)jnext i

2樓:

有兩種方法定義陣列:

1、知道陣列的元素個數,那麼直接定義

dim a(9) as integer

2、暫時不知道元素個數,或者該陣列應用在多個地方那麼如下定義

dim a() as integer

在使用的時候,再重定義一下就可以了

redim a(9)

陣列的型別可以和變數的型別一樣的。

dim a(0 to 9) as string '表示定義了一個包含10個元素的字串型的陣列,陣列名為:a

1、visual basic源自於basic程式語言。

2、vb擁有圖形使用者介面(gui)和快速應用程式開發(rad)系統,可以輕易的使用dao、rdo、ado連線資料庫,或者輕鬆的建立active x控制元件,用於高效生成型別安全和麵向物件的應用程式 。程式設計師可以輕鬆的使用vb提供的元件快速建立一個應用程式。

3樓:輕言淺蘇

1.基本概念陣列:是同型別變數的一個有序的集合。

如:a(1 to

100),表示一個包含100個陣列元素的名為a的陣列。

2.陣列元素:

即陣列中的變數。用下標表示陣列中的各個元素。

表示方法:陣列名(p1,p2,……)其中p1、p2表示元素在陣列中的排列位置,稱為「下標」。

如:a(3,2)代表二維陣列a中第3行第2列上的那個元素。

3.陣列維數:

由陣列元素中下標的個數決定,一個下標表示一維陣列,二個下標表示二維陣列。 vb中有一維陣列、二維陣列、……最多60維陣列。

4樓:

第一種形式:

dim a(3) as integer '定義一個陣列(有四個數),預設上限為a(0)

a(0)=2 '為a(0)賦值

a(1)=3

a(2)=4

a(3)=5

dim b(3 to 5) '這樣定義就規定了上限和下限(有三個數),上限為b(3),下限為b(5) ,然後可賦值

不限定大小的陣列定義

dim c() as integer '可以賦多個值

5樓:撿到的幸福

固定大小陣列定義:

dim abc(1 to 5) as integer不定大小陣列定義

dim abc() as integer

不定陣列使用時用

redim abc(1 to 5) as integer來改變陣列的大小

6樓:匿名使用者

陣列的型別可以和變數的型別一樣的。

dim a(0 to 9) as string '表示定義了一個包含10個元素的字串型的陣列,陣列名為:a

vb中怎樣定義一個陣列

7樓:匿名使用者

dim|private|public 陣列名(維數及大小) as 型別

dim|private|public 定義陣列作用域維數及大小 即陣列是幾維陣列以及每個維的大小型別資料型別 陣列的型別'

如 dim a (2,3) as stirng 二維陣列 ,大小是2*3 型別為字元型

8樓:匿名使用者

vb中陣列有3種形式:靜態陣列 動態陣列 和控制元件陣列1 靜態陣列

public | private | static | dim 陣列名 (下標 [ 下標])[as 型別]

例 dim s(2) as integer2 動態陣列

這類陣列指宣告陣列時未給出陣列的大小,使用時,隨時用redim語句重新指出陣列的大小。

首先像靜態陣列那樣,只是不指出下標

然後要使用陣列時,用redim指出

例 dim a() as integer........

redim a (1 to 10) 重新定義陣列 a 為一維陣列,有10個元素

3 控制元件陣列

是指一組有共同名稱和型別的一個或多個控制元件,共享同樣的事件過程

9樓:匿名使用者

dim a()

a就是陣列

a=(2,2)

怎麼定義vb動態陣列?

vb中這兩種定義陣列方式有什麼區別?

10樓:匿名使用者

簡單的說吧 就是dim 和 redim 的區別如果我**修改成這樣 你就好理解了

dim arr3(1 to 4)

arr3=array(1,4,2,8,9,10)arr3固定陣列只能有4個元素 而array有6個引數 要返回6個元素的陣列

dim arr3(1 to 4)

redim arr3(1 to 6)

這樣肯定是不能執行的

同理在array內部是不判斷arr3到底有幾個元素的空間 能不能和引數的個數所匹配 它只看你是不是動態陣列 能不能按array引數的個數來redim 然後給你賦值而已

11樓:匿名使用者

因為arr3=array(1,4,2,8)已經明確定義

dim arr3(1 to 4)是變成多餘的了

12樓:說啊———喵

陣列在使用之前必須先定義。

按陣列佔用儲存空間的方式不同,分為兩種陣列:靜態陣列和動態陣列。

靜態陣列的定義:public|private|dim 陣列名([下界1 to] 上界1,[下界2 to] 上界2,…) [as 型別],…

動態陣列的定義:首先在模組級或過程級定義一個沒有下標的陣列 :

public|private|dim 陣列名()[as 型別],…

例:dim a() as integer

然後在過程級使用redim語句定義陣列的實際大小:

redim [preserve] 陣列名([下界1 to] 上界1,[下界2 to] 上界2,…) [as 型別],…

例: redim a(1 to 10) as integer

redim preserve a(1 to 20) as integer

在使用陣列時,還可以通過陣列操作函式完成一些操作。例如array函式:array(參數列)。:

array函式將其「參數列」的值構成陣列的各元素值,並賦值給一個variant型別的變數,注意只能賦值給variant型別的變數,賦值後的陣列大小由引數的個數決定,陣列下標的下界由option base語句指定的下界決定。

例如:dim a

a = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

執行上述語句後陣列a各元素值為:

a(0)=1,a(1)=2,a(2)=3,…,a(9)=10

13樓:匿名使用者

微軟就這麼規定的,你說為什麼1+1=2?

vb 如何定義字串陣列??

14樓:紀仲賈真如

vb沒啥難度啊

定義:dim

aa(x)

asstring

'其中x是陣列裡元素數量,x從0開始

呼叫:b=aa(0)

』賦值陣列裡第一個元素給b

賦值:一般用迴圈,如:

for...next語句

回答dim

arr()

asstring

arr(i)

="abcd"

上邊少一條語句,你用的arr()

定義的是個動態陣列,哥們看你語句像是學過c的,是把c的一些東西帶到b來了

修改:dim

arr()

asstring

arr()

="abcd"

再試一下吧

15樓:匿名使用者

如何定義一個string型別的動態陣列?可以用dim a() as string,之後在程式根據需要redim a(100)重新定義就可以。

16樓:昆櫻亮

dim str(100) as string含有100個string型別的陣列,其下標為:str(0)到str(99)

動態陣列無法定義,只能根據需求定義一個理想狀態下的陣列,比如:

dim str(1000000) as string或者更大....

17樓:

1、如何定義一個包含有100個string型別的陣列。

dim tstrings(99) as string或: dim tstrings(0 to 99) as string或: dim tstrings(1 to 100) as string

2、如何定義一個string型別的動態陣列。

dim tstrings() as string如果你想定義它有100個元素,則這樣定義。

redim tstrings(0 to 99)或 redim tstrings(1 to 100)redim會使陣列內容全部丟失。

如果你只想重新定義陣列大小,而保留陣列的內容可以這樣:

dim tstrings() as stringredim tstrings(0 to 99)redim preserve tstrings(0 to 49)preserve引數保留陣列原有內容。但假如你縮小了陣列的上界,則後面的元素會丟失。比如上面的定義,49到100的以後的元素就丟失了。

但需要注意的是使用preserve引數時陣列下界不可以更改,比如:

dim tstrings() as stringredim tstrings(51 to 100)redim preserve tstrings(0 to 100)這樣會出錯。

而下面這樣則是可以的:

dim tstrings() as stringredim tstrings(0 to 100)redim preserve tstrings(0 to 49)

請問在vb中怎麼定義一個動態陣列,謝謝了

18樓:畸亝

在過程級別中使用,用於為動態陣列變數重新分配儲存空間。語法

redim [preserve] varname(subscripts) [as type] [, varname(subscripts) [as type]] . . .

redim 語句的語法包括以下幾個部分:部分 描述preserve 可選的。關鍵字,當改變原有陣列最末維的大小時,使用此關鍵字可以保持陣列中原來的資料。

varname 必需的。變數的名稱;遵循標準的變數命名約定。

subscripts 必需的。陣列變數的維數;最多可以定義 60 維的多維陣列。subscripts 引數使用下面的語法:

[lower to] upper [,[lower to] upper] . . .

如果不顯式指定 lower,則陣列的下界由 option base 語句控制。如果沒有 option base 語句則下界為 0。

type 可選的。變數的資料型別;可以是 byte、boolean、integer、long、currency、single、double、decimal(目前尚不支援)、date、string(對變長的字串)、string * length(對定長的字串)、object、variant、使用者定義型別或物件型別。所宣告的每個變數都要有一個單獨的 as type 子句。

對於包含陣列的 variant 而言,type 描述的是該陣列的每個元素的型別,不能將此 variant 改為其它型別。說明

redim 語句用來定義或重定義原來已經用帶空圓括號(沒有維數下標)的 private、public 或 dim 語句宣告過的動態陣列的大小。

可以使用 redim 語句反覆地改變陣列的元素以及維數的數目,但是不能在將一個陣列定義為某種資料型別之後,再使用 redim 將該陣列改為其它資料型別,除非是 variant 所包含的陣列。如果該陣列確實是包含在某個 variant 中,且沒有使用 preserve 關鍵字,則可以使用 as type 子句來改變其元素的型別,但在使用了此關鍵字的情況下,是不允許改變任何資料型別的。

如果使用了 preserve 關鍵字,就只能重定義陣列最末維的大小,且根本不能改變維數的數目。例如,如果陣列就是一維的,則可以重定義該維的大小,因為它是最末維,也是僅有的一維。不過,如果陣列是二維或更多維時,則只有改變其最末維才能同時仍保留陣列中的內容。

下面的示例介紹瞭如何在為已有的動態陣列增加其最末維大小的同時而不清除其中所含的任何資料。

redim x(10, 10, 10)

. . .

redim preserve x(10, 10, 15)

同樣地,在使用 preserve 時,只能通過改變上界來改變陣列的大小;改變下界則會導致錯誤。

如果將陣列改小,則被刪除的元素中的資料就會丟失。如果按地址將陣列傳遞給某個過程,那麼不要在該過程內重定義該陣列的各維的大小。

在初始化變數時,數值變數被初始化為 0,變長的字串被初始化為一個零長度的字串 (""),而定長的字串則用 0 填充。variant 變數被初始化為 empty。使用者自定義型別的變數的每個元素作為各自獨立的變數進行初始化。

在使用引用物件的變數之前,必須使用 set 語句將一個已有的物件賦給該變數。在被賦值之前,所宣告的物件變數有一個特定值 nothing,這個值表示該變數沒有指向任何物件的例項。

小心 如果 redim 語句所使用的變數在模組級別或過程級別不存在,則該語句就相當於一個宣告語句。如果此後在一個更廣的範圍內又建立了同名的變數,即使使用了 option explicit,redim 也將使用後宣告的這個變數,且不會導致編譯錯誤。為了避免這種衝突,就不應把 redim 作為宣告語句使用,而只應作為重定義陣列大小的語句。

注意 要改變 variant 所包含的陣列的大小

VB在textbox中輸出陣列,VB給陣列賦值後如何在文字框Text裡輸出

private sub form load dim a 1 to 1000 as integer 在text的屬性欄設定這2個屬性 text1.scrollbars 2 vertical text1.multiline truetext1.text for i 1 to 1000 a i i tex...

vb中公用模組變數未定義,vb中公用模組變數未定義

那你到底定義沒有。還有出錯是哪行?一發一大篇,也太不負責了吧。也給幫忙該題的人一點方便吧!您好,中公教育為您服務。給你分享一個公複習備考方法。希望對你有用。1 重做真題,把握規律 吃透真題是複習備考的必備之選,真題是一切趨勢變化的源泉,掌握了真題就掌握了公 的命脈。因此,建議考生在後一階段的複習中,...

vb中這兩種定義陣列方式有什麼區別

簡單的說吧 就是dim 和 redim 的區別如果我 修改成這樣 你就好理解了 dim arr3 1 to 4 arr3 array 1,4,2,8,9,10 arr3固定陣列只能有4個元素 而array有6個引數 要返回6個元素的陣列 dim arr3 1 to 4 redim arr3 1 to...