成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET數組賦值怪異現象揭秘

開發 后端
VB.NET數組賦值時出現了一個比較怪異的現象,就是在進行賦值時,是傳給數組的地址給數組的。那么如何才能正確解釋這一現象呢?我們在文中給出了答案。

VB.NET數組的應用是一個非常重要的知識點。初學者們必須要在學習的過程中對此加強注意力。今天在寫程序過程中發現了VB.NET數組賦值時出現了一個奇怪的現象,就是給數組給數組賦值時竟然是"指向數組的地址",即數組給數組賦值時不是生成一個新的值后傳給數組保存,而是傳給該數組的地址給數組.

打個比方:有數組A和數組B.現在把數組B賦給數組A.而則時數組A不是保存數組B的值而是保存數組B的內存地址,這就產生一個問題:如果數組B的值改變則數組A的值也跟著改變!!!....而在ASP就不是這樣情況,VB也可能不是這樣,我的機沒有VB.所以測試不了...

這樣說可能還不是很清楚(我的表達能力就是很差),給一段VB.NET數組賦值的示例代碼就知:

VB.NET數組賦值的代碼:

  1. Sub TestCode()   
  2. Dim Test(4) As Array, 
    RandomText(1) As String   
  3. Dim Ran As New Random, 
    i, j As Integer   
  4. For i = 0 To 4   
  5. For j = 0 To 1   
  6. RandomText(j) = Ran.Next(100)   
  7. Next   
  8. Test(i) = RandomText   
  9. Next   
  10. For i = 0 To 4   
  11. MsgBox(Test(i)(0) & "|" 
    & Test(i)(1))   
  12. Next   
  13. End Sub  

運行上面代碼你可發現,五次顯示的結果都是一樣的...如果你以為RANDOM時產生相同的值,那么你可以使用一步步調試.在"自動窗口"中你會發現每當循環時,Test(i-1)里面的值總是跟著Test(i)的值改變....這也說明了我在上面所說的問題,即數組賦值給數組時是"傳址"而不是"傳值"保存....但如果不是數組則不會有這樣的情況出現!解決方法是把RandomText(1) As String的定義放到***個循環的里面即可,即每循環一次生成一個新的數組

讓我們看看在ASP里會不會也是跟VB.NET數組賦值相同的情況吧
ASP代碼:

  1. < %@LANGUAGE="VBSCRIPT"%>   
  2. < %   
  3. Randomize   
  4. Dim Test(4), RandomText(1)   
  5. Dim Ran, i, j   
  6. For i = 0 To 4   
  7. For j = 0 To 1   
  8. RandomText(j) = Int
    (Rnd(Time)*100+1)   
  9. Next   
  10. Test(i) = RandomText   
  11. Next   
  12. For i = 0 To 4   
  13. Response.Write Test(i)(0) & 
    "|" & Test(i)(1) & "
    < br>"   
  14. Next   
  15. %>  

運行后你會發現5行的數據都是不同的!!!即在ASP里數組賦值給數組是"傳值"而不是"傳址"保存!!!!

【編輯推薦】

  1. VB.NET自定義屬性應用方式解析
  2. VB.NET異常迭代捕捉代碼示例
  3. VB.NET共享成員變量創建技巧解析
  4. 范例解讀VB.NET獲取環境變量
  5. VB.NET抓取網頁相關問題解決方法
責任編輯:曹凱 來源: blue1000.com
相關推薦

2010-01-07 13:51:50

VB.NET數組賦值

2010-01-07 15:18:10

VB.NET常量

2009-10-28 12:28:52

VB.NET資源使用

2009-10-15 11:42:05

VB.Net賦值語句

2009-10-15 09:02:19

VB.NET申明數組

2009-10-15 09:16:35

VB.NET重新申明數

2010-01-07 15:25:11

VB.NET數組

2009-10-21 14:36:03

VB.NET批量重命名

2009-10-09 14:55:02

VB.NET數組

2010-01-19 15:42:30

VB.NET賦值語句

2010-01-07 16:40:13

VB.NET一維數組

2009-10-27 09:45:03

VB.NET數組

2009-11-02 17:54:44

VB.NET數組

2009-10-16 10:47:58

VB.NET創建控件數

2010-01-18 19:29:31

VB.NET多維數組

2009-10-27 14:50:25

VB.NET控件數組

2009-10-26 14:25:09

VB.NET控件數組

2009-10-29 14:02:24

VB和VB.NET比較

2011-06-17 11:05:22

VB.NET

2009-06-24 15:45:32

VB.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线免费观看黄a | 欧美日韩久久久 | 天堂一区二区三区 | 国产午夜精品视频 | 日韩av高清| 国产91久久精品一区二区 | 久久在线精品 | 久久久久国产一区二区三区 | 欧美国产亚洲一区二区 | 拍真实国产伦偷精品 | 国产91观看 | www.日本三级 | 欧美性受xxxx | 成人二区| 国产免费一区二区 | 久久在视频 | 一区在线播放 | 日韩和的一区二在线 | 波多野吉衣久久 | 久久成人一区 | 日本小视频网站 | 色婷婷综合久久久中字幕精品久久 | 国产精品三级 | 九色在线观看 | 欧美日韩一| 99在线播放| 国产精品日产欧美久久久久 | 阿v视频在线观看 | 色狠狠一区 | 国产高潮好爽受不了了夜色 | 亚洲福利av | 国产精品1区2区 | 成人在线看片 | 亚洲成人一区二区 | 视频一区在线 | 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 国内精品免费久久久久软件老师 | www.久久.com| 国产欧美日韩综合精品一区二区 | 亚洲精品91 | 久久久涩 |