dictionary-字典用法 VB.net 2005

本文介绍了如何在 VB.NET 2005 中使用 Dictionary 类型,包括添加项、检索值、检查值存在以及遍历字典内容的方法。示例展示了如何创建一个 Dictionary 对象,添加键值对,以及通过键获取值,同时提供了遍历字典中所有值的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值