日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
VB.NETHashtable用法相關(guān)概念詳解

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

創(chuàng)新互聯(lián)是一家專(zhuān)注于成都網(wǎng)站制作、網(wǎng)站建設(shè)與策劃設(shè)計(jì),新建網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:新建等地區(qū)。新建做網(wǎng)站價(jià)格咨詢(xún):028-86922220

大家都知道Hashtable說(shuō)白了就是鍵值對(duì),當(dāng)然她的一些Hash函數(shù)美妙無(wú)語(yǔ),但如果我們使用.NET或Java進(jìn)行開(kāi)發(fā)時(shí)對(duì)于常用的類(lèi),jdk中HashCode函數(shù)已經(jīng)重寫(xiě)好了,不用我們勞神,所以大概明白Hashtable的基本概念就可以在程序中盡情的擁抱她了。

廢話(huà)少說(shuō),言歸正題。

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

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

這個(gè)時(shí)候她表現(xiàn)的特別乖,什么小差都沒(méi)開(kāi)。好,下面我們把她包裝一下,女主角是要有些矜持的。

 
 
 
  1. Public Class TestHashtableClass 
    TestHashtable
  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用法中這樣使用這個(gè)類(lèi)是不會(huì)有問(wèn)題的

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

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

 
 
 
  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用法程序中這樣調(diào)用

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

^_^ 一切正常,關(guān)鍵的時(shí)刻來(lái)臨了,我們的小公主就要撒嬌啦。下面我們改造一下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

注意這里把只讀屬性變成了可讀寫(xiě)屬性,調(diào)用代碼依然是那三句不變,我們?cè)诘谌屑由弦粋€(gè)斷點(diǎn),OK,F(xiàn)5運(yùn)行,到達(dá)斷點(diǎn)后,我們小心翼翼的F11一步步運(yùn)行,首先執(zhí)行到了TestObject中的屬性Get中,這是預(yù)期的,沒(méi)有問(wèn)題,退出Get后,程序執(zhí)行setParameter中的語(yǔ)句,這也是預(yù)期的,go on,退出setParameter后,再按一下F11,o(∩_∩)o...哈哈,小公主撒嬌啦,她任性的走進(jìn)了TestObject中屬性的Set中!真是不乖,怎么可以到處亂跑呢,這樣你會(huì)無(wú)意踏壞花花草草呀,如果在set中不是一句打印語(yǔ)句,而是一個(gè)終止程序命令,你就惹大禍啦。

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

她在VB.NET中不乖,那她到了C#中會(huì)不會(huì)有所收斂呢。我們把上面的代碼全部用C#改寫(xiě),發(fā)現(xiàn)上面所說(shuō)的情況沒(méi)有發(fā)生,一切正常,set并沒(méi)有被調(diào)用。

如果把上面的兩個(gè)類(lèi)做成一個(gè)VB.NET Hashtable用法中的類(lèi)庫(kù),把它加入到一個(gè)解決方案中,在C#中調(diào)用這兩個(gè)類(lèi),你會(huì)發(fā)現(xiàn)根本就沒(méi)有辦法直接調(diào)用屬性傳入setParameter,會(huì)出現(xiàn)編譯錯(cuò)誤,要求必須將其先存到一個(gè)變量中才可以,根本就沒(méi)有給她留下撒嬌的機(jī)會(huì)。

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


本文題目:VB.NETHashtable用法相關(guān)概念詳解
網(wǎng)頁(yè)URL:http://m.5511xx.com/article/codscjd.html