首页 > 代码库 > Hashtable类

Hashtable类

    在.NET Framework中,Hashtable是System.Collection命名空间下提供的一个容器类,表示键/值的集合,这些键/值对根据键的哈希代码进行组织。


   公共方法


名称说明示例
Add将带有指定键和值得元素添加到Hashtable中

HashtableObject.Add(key,value)

Clear从Hashtable中移除所有元素

HashtableObject.clear

Clone创建Hashtable的浅副本

HashtableObject1=Hashtable2.clone

Cotains确定Hashtable是否包含特定键(返回Boolean)HashtableObject.contains(key)
ContainsValue确定Hashtable是否包含特定值(返回Boolean)HashtableObject.ContainsValue(value)
CopyTo将Hashtable元素复制到一维Array实例中的指定索引位置 
Equals确定两个Object实例是否相等(返回Boolean)Hashtable1.Equals(Hashtable2)
Remove从Hashtable中移除带有指定键的元素Hashtable.Remove
ToString返回表示当前Object的stringHashtable.contains(key).tostring

 

 


    以下小例子包含了以上全部的操作

Imports System.Collections   '使用Hashtable必须引用该命名空间
Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim Ht As New Hashtable  '创建一个Hashtable实例
        Ht.Add(1, "一号") '添加keyvalue键值对
        Ht.Add(2, "二号")
        Dim a As String = Ht(1)  '为a赋值一号
        If Ht.Contains(1) Then   '判断哈希表是否包含特定键,其返回值为true或false
            MsgBox("1存在")
        End If
        Dim Ht2 As New Hashtable
        Ht2 = Ht.Clone '此时Ht2是Ht的一个副本


        For Each DE As DictionaryEntry In Ht
            MsgBox(DE.Value)  '输出键值对Value
            MsgBox(DE.Key)  '输出键值对Key
        Next
        Ht.Remove(2)  '移除一个keyvalue键值对
        Ht.Clear() '移除全部

    End Sub

End Class

   小结:在做机房系统的时候,曾经遇到过这些问题。首先是组合查询的时候,需要把中文的查询内容转变为数据库中的英文来拼凑查询字符串,当初第一次做的时候是直接写了个函数来转变的,现在可以通过Hashtable来实现。具体操作详见以下连接。


    http://blog.csdn.net/zhuojiajin/article/details/16996027


  其次,在做结账页面的时候,也遇到过类似的问题,界面如下


0

 


   大致的意思是通过选择用户名或者真实姓名来进行结账,但是两者是同步的。曾记得第一次做机房收费系统的时候,是不断的连接数据库来同步两个文本框中的内容,但现在如果利用Hashtable的话,只需要把内容赋给Hashtable,利用Key和Value来同步,这样就防止不断的连接数据库的操作。

 

Public methodSupported by the .NET Compact Framework

Public method