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

VB.NET Hashtable用法相關概念詳解

開發 后端
我們在這篇文章中對VB.NET Hashtable用法做了詳細的介紹。剛剛接觸這門語言的朋友可以通過介紹的內容詳細掌握其中的操作技巧。

大家知道VB語言嗎?它的作用為程序員帶來了不一樣的體驗。在這里首先來了解一下VB.NET Hashtable用法的相關概念。在我的程序中她的靚影在各處閃現;她是你的過客還是情人,在我的程序中她是永恒的女主角。說到如何充分的利用Hashtable,我會在我的另一篇文章《解耦利器:Hashtable》中詳細闡述,這里就介紹一下她是怎樣撒嬌的吧。#t#

大家都知道Hashtable說白了就是鍵值對,當然她的一些Hash函數美妙無語,但如果我們使用.NET或Java進行開發時對于常用的類,jdk中HashCode函數已經重寫好了,不用我們勞神,所以大概明白Hashtable的基本概念就可以在程序中盡情的擁抱她了。

廢話少說,言歸正題。

VB.NET Hashtable用法中最直白的使用方法就是

  1. Dim ht As New Hashtable  
  2. Dim key As String = "___" 
  3. Dim value As String = "___" 
  4. ht.Add(key, value) 

這個時候她表現的特別乖,什么小差都沒開。好,下面我們把她包裝一下,女主角是要有些矜持的。

  1. Public Class TestHashtableClass 
    Test
    Hashtable  
  2. Private ht As New Hashtable  
  3. Public Sub setParameter()Sub 
    setParameter(ByRef key As String, 
    ByRef value As Object)  
  4. Me.ht.Add(key, value)  
  5. End Sub  
  6. End Class 

這里很直白,就不解釋了,如果VB.NET Hashtable用法中這樣使用這個類是不會有問題的

  1. Dim testHashtable As New 
    Test
    Hashtable  
  2. testHashtable.setParameter
    ("key", "value") 

工作的很正常,大小姐依然很乖,:-)下面我們換一種value的傳入方式,不再使用一個常量,而是使用一個屬性。我們先創建一個帶有只讀屬性的類

  1. Public Class TestObjectClass 
    TestObject  
  2. Public ReadOnly Property aaa
    ()Property aaa() As Integer  
  3. Get  
  4. System.Diagnostics.Debug.
    WriteLine("aaa.get")  
  5. Return 10  
  6. End Get  
  7. End Property  
  8. End Class 

在VB.NET Hashtable用法程序中這樣調用

  1. Dim testHashtable As 
    New Test
    Hashtable  
  2. Dim o As New TestHashtable.
    TestObject  
  3. testHashtable.setParameter
    ("a", o.aaa) 

^_^ 一切正常,關鍵的時刻來臨了,我們的小公主就要撒嬌啦。下面我們改造一下TestObject

  1. Public Class TestObjectClass 
    TestObject  
  2. Public Property aaa()Property 
    aaa() As Integer  
  3. Get  
  4. System.Diagnostics.Debug.WriteLine
    ("aaa.get")  
  5. Return 10  
  6. End Get  
  7. Set(ByVal value As Integer)  
  8. System.Diagnostics.Debug.WriteLine
    ("aaa.set")  
  9. End Set  
  10. End Property  
  11. End Class  

注意這里把只讀屬性變成了可讀寫屬性,調用代碼依然是那三句不變,我們在第三行加上一個斷點,OK,F5運行,到達斷點后,我們小心翼翼的F11一步步運行,首先執行到了TestObject中的屬性Get中,這是預期的,沒有問題,退出Get后,程序執行setParameter中的語句,這也是預期的,go on,退出setParameter后,再按一下F11,o(∩_∩)o...哈哈,小公主撒嬌啦,她任性的走進了TestObject中屬性的Set中!真是不乖,怎么可以到處亂跑呢,這樣你會無意踏壞花花草草呀,如果在set中不是一句打印語句,而是一個終止程序命令,你就惹大禍啦。

如何解決這個問題呢,其實很簡單,只要在傳入屬性前,先把屬性的值賦給一個變量,再把這個變量傳給VB.NET Hashtable用法就好了。

她在VB.NET中不乖,那她到了C#中會不會有所收斂呢。我們把上面的代碼全部用C#改寫,發現上面所說的情況沒有發生,一切正常,set并沒有被調用。

如果把上面的兩個類做成一個VB.NET Hashtable用法中的類庫,把它加入到一個解決方案中,在C#中調用這兩個類,你會發現根本就沒有辦法直接調用屬性傳入setParameter,會出現編譯錯誤,要求必須將其先存到一個變量中才可以,根本就沒有給她留下撒嬌的機會。

這樣看來,如果說C#是一位嚴父,根本不允許撒嬌的存在,那么VB.NET就是一位慈母,她是那么的包容,又是那么的縱容!

責任編輯:曹凱 來源: 博客園
相關推薦

2010-01-13 10:15:19

VB.NET Stri

2010-01-08 14:56:18

VB.NET類定義

2010-01-12 18:05:38

VB.NET對象

2010-01-19 10:12:39

VB.NET Butt

2010-01-21 10:48:18

VB.NET擴展方法

2010-01-19 15:08:18

VB.NET對象成員

2010-01-13 18:17:00

VB.NET通信程序

2010-01-12 18:28:28

VB.NET共享變量

2010-01-12 17:21:29

VB.NET對象

2010-01-11 15:01:55

VB.NET冒泡排序

2010-01-19 17:26:37

VB.NET創建過程

2010-01-14 17:27:17

VB.NET坐標系統

2010-01-07 14:52:41

VB.NET運算符

2010-01-18 19:29:31

VB.NET多維數組

2010-01-07 14:10:41

VB.NET數據類型

2010-01-20 18:22:37

VB.NET泛型類型

2010-01-21 15:47:41

VB.NET變量生存周VB.net

2010-01-21 17:34:48

VB.NET Bool

2010-01-12 18:35:43

VB.NET Stru

2009-10-20 17:38:54

VB.NET Comp
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本成人在线免费视频 | 亚洲 欧美 日韩在线 | 亚洲成人一级片 | 欧美一区二区三区在线观看 | 九色国产 | 日韩欧美手机在线 | 国产精品免费一区二区三区四区 | av日韩一区 | 啪啪网页| 精品国产欧美一区二区三区成人 | 欧美黄色片在线观看 | 亚洲色图综合 | 91精品国模一区二区三区 | 成人免费视频网站在线看 | www.v888av.com | 欧美亚洲另类丝袜综合网动图 | 国产在线精品一区二区 | 日韩一区二区三区精品 | 自拍视频精品 | 日本在线视频一区二区 | 夜夜草视频 | 亚洲最大福利网 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 第四色播日韩第一页 | 午夜综合 | 韩日一区二区 | 草久久| 成年人黄色免费视频 | 久久久久国产成人精品亚洲午夜 | 国产成人在线播放 | av黄色在线 | 国产免费一区二区三区 | 国产精品www | 国产成人一区二区三区 | 久久免费视频1 | 久久国产秒 | 久久精品亚洲精品国产欧美 | 日本高清视频在线播放 | 亚洲人成在线观看 | 99精品视频网 | 超碰地址 |