dictionary-字典用法 VB.net 2005

来源:互联网 发布:js 截取最后几个字符 编辑:程序博客网 时间:2024/05/16 05:03

 Dim stateCaps As New Dictionary(Of String, String)

 

        ' Add items to the dictionary

        stateCaps.Add("WA", "Olympia")

        stateCaps.Add("NM", "Santa Fe")

        Trace.WriteLine(stateCaps.Item("WA"))  'True

        Trace.WriteLine(statecaps.ContainsValue("Olympia")) 'True

 

 

 

  Dim stateCaps As New Dictionary(Of String, String())

        stateCaps.Add("WA", New String() {"Olympia", "aaa"})

        stateCaps.Add("NM", New String() {"Santa Fe"})

 

?statecaps.Item("WA")

{Length=2}

    (0): "Olympia"

    (1): "aaa"

?statecaps.Item("WA")(0)

"Olympia"

 

Dim Dstr(0) as String

得到字典中的以“WA”为键的值

statecaps.TryGetValue("WA",dstr)

 

        For Each kvp As KeyValuePair(Of String, String()) In stateCaps

            Console.WriteLine("Key = {0}, Value = {1}", _

                kvp.Key, kvp.Value(0))

        Next kvp

得到全部值的集合:

        Dim valueColl As _

             Dictionary(Of String, String()).ValueCollection = _

                                stateCaps.Values

枚举得到全部值:

        For Each s() As String In valueColl

            Console.WriteLine("Value = {0}", s(0))

        Next s

 

        For Each capitol As String In stateCaps.Values

 

        Next

 

 

 

==========================================================

  字典Dictionary含有一个关键字,可方便查询;

‘ 下面建立了一个包含有结构的字典,以便查询。

==========================================================

Structure CellStructure

        Dim ColPos As Integer

        Dim RowPos As Integer

        Dim mergeBound As System.Drawing.Rectangle

     End Structure

 

Dim MergeCellDictionary As New Dictionary(Of String, CellStructure)

 

        With MergeCellDictionary

            Dim cellOne As CellStructure

            cellOne.mergeBound.Height = 50

            ‘ 在字典可增加了一个记录,关键字为“BeginCell

            .Item("BeginCell") = cellOne

              也可用下面一句代替:

             .Add(BeginCell,cellOne)

     End With

取得字典中关键字为“BeginCell”的内容:

Trace.Writeline(mergecelldictionary.Item("BeginCell").mergeBound.Height )

50

 

 

 

       

字典数组:

     '定义字典。

        Dim DicArray(3) As Dictionary(Of String, String)

        For i = 0 To 3

            DicArray(i) = New Dictionary(Of String, String)

        Next

 

        DicArray(0).Item("Alen") = "outing"

        DicArray(0).Item("Andrea") = "eating1"

        Debug.WriteLine(DicArray(0)("Andrea"))

        Debug.WriteLine(DicArray(0)("Alen"))

        DicArray(0)("Andrea") = "123"

        Debug.WriteLine(DicArray(0)("Andrea"))

 

 

也可以用类结构数组:

        Dim Ar(5) As Customer

        Dim i As Integer

        For i = 0 To 5

            Ar(i) = New Customer()

        Next

        Ar(0)("Name") = "Alen"

        Ar(0)("Tel") = "88812345"

        Debug.WriteLine(Ar(0)("Name"))

'返回 88812345 

 

Class Customer

    Private m_Name As String

    Private m_Tel As String

 

    Public Property Name(ByVal N As String) As String

        Get

            Name = m_Name

        End Get

        Set(ByVal Value As String)

            m_Name = Value

        End Set

 

    End Property

    Default Property Tel(ByVal T As String) As String

        Get

            Tel = m_Tel

        End Get

        Set(ByVal Value As String)

            m_Tel = Value

        End Set

 

    End Property

 

End Class

 

原创粉丝点击