标签:style class blog code http tar
在.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的string | Hashtable.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
其次,在做结账页面的时候,也遇到过类似的问题,界面如下
大致的意思是通过选择用户名或者真实姓名来进行结账,但是两者是同步的。曾记得第一次做机房收费系统的时候,是不断的连接数据库来同步两个文本框中的内容,但现在如果利用Hashtable的话,只需要把内容赋给Hashtable,利用Key和Value来同步,这样就防止不断的连接数据库的操作。
标签:style class blog code http tar
原文地址:http://blog.csdn.net/luckyzhoustar/article/details/29380679