值傳遞和地址傳遞(引用)的而導致的問題。
網站的建設創新互聯建站專注網站定制,經驗豐富,不做模板,主營網站定制開發.小程序定制開發,H5頁面制作!給你煥然一新的設計體驗!已為衛生間隔斷等企業提供專業服務。
在For Each 的時候
當對象是值對象的時候,等于獲得到一個副本。
當對象是引用對象的時候,則是獲得到一個指針。
而在For To 的時候
無論對象是什么,你都獲得到這個集合指定位置的指針。
更詳細的,可以請參考以下內容,或直接去官方的MSDN了解
關于值類型和引用類型:
如果數據類型在它自己的內存分配中存儲數據,則該數據類型就是“值類型”。“引用類型”包含指向存儲數據的其他內存位置的指針。
值類型
值類型包括:
所有數字數據類型
Boolean、Char 和 Date
所有結構,即使其成員是引用類型
枚舉,因為其基礎類型總是 SByte、Short、Integer、Long、Byte、UShort、UInteger
或 ULong
引用類型
引用類型包括:
String
所有數組,即使其元素是值類型
類類型,如 Form
委托
非類型的元素
以下編程元素未限定為類型,因為您無法將它們中的任何一個指定為聲明元素的數據類型:
命名空間
模塊
事件
屬性和過程
變量、常數和字段
使用對象數據類型
可以將引用類型或值類型指派給 Object 數據類型的變量。Object
變量總是存儲指向數據的指針,從不存儲數據本身。然而,如果將值類型指派給 Object 變量,則 Object
變量將表現得像存儲自己的數據一樣。有關更多信息,請參見 Object 數據類型。
通過將 Object 變量傳遞給 Microsoft.VisualBasic
命名空間中 Information
類的 IsReference
方法,可以確定該變量是用作引用類型還是值類型。如果 Object 變量的內容表示引用類型,則 Information.IsReference 返回 True。
For Each num 這個 num 是只讀的,不能修改;如果要修改,改成用 For 循環。
希望能幫助到你
for each是用來簡化for的,但你這種寫法有點奇怪,一般沒這樣用的,通常的用法是
dim a() as string={....}
dim str as string '定義臨時變量,它的類型與你數組中元素類型一致
For Each str In a
MessageBox.Show(str)
Next
你上面代碼中,a就是一個3個元素的數組,從a[0]到a[2], 用for each的時候,就會遍歷你的a數組,上面的代碼相當于
for i=0 to a.Length-1
MessageBox.Show(a(i))
next
字符串也可以遍歷,估計只要有GetEnumerator方法的都可以這么遍歷。字符串是遍歷每個字符。如:
For Each m As String In "abc456456434"
Console.WriteLine(m)
Next
也不會有錯。
所以語法上不會有錯,如果你的語句是遍歷數組而不是數組第一個元素中的字符,那就把后面的(1)去掉。
名稱欄目:關于vb.neteach的信息
文章源于:http://m.kartarina.com/article28/hjgcjp.html
成都網站建設公司_創新互聯,為您提供網站設計公司、網站內鏈、網頁設計公司、用戶體驗、自適應網站、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯