偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

VB.NET Hashtable用法相關(guān)概念詳解

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

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

大家都知道Hashtable說白了就是鍵值對,當(dāng)然她的一些Hash函數(shù)美妙無語,但如果我們使用.NET或Java進(jìn)行開發(fā)時對于常用的類,jdk中HashCode函數(shù)已經(jīng)重寫好了,不用我們勞神,所以大概明白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) 

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

  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的傳入方式,不再使用一個常量,而是使用一個屬性。我們先創(chuàng)建一個帶有只讀屬性的類

  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 Test
    Hashtable  
  2. Dim o As New TestHashtable.
    TestObject  
  3. testHashtable.setParameter
    ("a", o.aaa) 

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

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

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

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

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

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

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

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-14 17:27:17

VB.NET坐標(biāo)系統(tǒng)

2010-01-11 15:01:55

VB.NET冒泡排序

2010-01-19 17:26:37

VB.NET創(chuàng)建過程

2010-01-07 14:52:41

VB.NET運算符

2010-01-18 19:29:31

VB.NET多維數(shù)組

2010-01-07 14:10:41

VB.NET數(shù)據(jù)類型

2010-01-20 18:22:37

VB.NET泛型類型

2010-01-21 15:47:41

VB.NET變量生存周VB.net

2010-01-07 10:28:04

VB.NET實現(xiàn)接口

2010-01-21 17:34:48

VB.NET Bool

2009-10-20 17:38:54

VB.NET Comp
點贊
收藏

51CTO技術(shù)棧公眾號