网站建设资讯

NEWS

网站建设资讯

vb点虐 哈希 vbnet hashtable

VB.NET 中 HASHTABLE 的疑问

我们知道Hashtable 是线程安全的,可由多个读取器线程或一个写入线程使用。

创新互联是一家集网站建设,前锋企业网站建设,前锋品牌网站建设,网站定制,前锋网站建设报价,网络营销,网络优化,前锋网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

它的特点是:通过节点的关键码确定节点的存储位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将此值解释为该节点的存储地址.

HashMap 与Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null为关键码的.

我们知道在使用内存中的地址时是按照哪里有空闲的就使用哪里的。怎么可能一直由着我们输入的顺序给你开放地址呢?

vb中哈希算法表示方法

Private Sub Initialize(ByVal vKeyString As String)

Dim intI As Integer, intJ As Integer

Randomize(Rnd(-1))  '得到初始值(种子值)

'每次调用初始值均相同

'根据初始值(种子值)得到随机数序列,每次调用Initialize时,初始值均相同。只要vKeyString相同,所产生的随机数序列一定相同 

For intI = 1 To Len(vKeyString)

intJ = Rnd(-Rnd * AscW(Mid(vKeyString, intI, 1)))

Randomize(intJ)

Next intI

End Sub

Public Sub DoXor(ByRef msFileText As String)

Dim intC As Integer

Dim intB As Integer

Dim lngI As Long

For lngI = 1 To Len(msFileText)

intC = AscW(Mid(msFileText, lngI, 1))

intB = Int(Rnd() * 2 ^ 7)

'选用 =127可正确处理汉字,ChrW(n):n 有一个范围

Mid(msFileText, lngI, 1) = ChrW(intC Xor intB)

Next lngI

End Sub

Public Function Hash(ByVal ET As String) As String

Dim BitLenString As String, KeyString As String,

FileText As String

BitLenString = "12345678"

KeyString = ET  BitLenString

Call Initialize(KeyString)

'根据KeyString产生随机数序列

FileText = ET  BitLenString

Call DoXor(FileText)

'根据上述随机数序列对FileText加密

KeyString = FileText

Call Initialize(KeyString)

'根据上述的加密结果产生新的随机数序列

FileText = BitLenString

Call DoXor(FileText)

'根据上述随机数序列对FileText加密,8位字符

Hash = FileText

'8位字符送作HASH值

End Function

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click

Dim str As String = "abcd"  vbCrLf

TextBox6.Text = str  Hash(str)

End Sub

为什么VB点虐 和JAVA上相同的字符串对应的哈希值

ateString

时间:DateTime.Now.ToFileTime

可以这样用:

Response.Write(DateTime.Now.ToShortDateString() + "br/");

Response.Write(DateTime.Now.ToShortTimeString() + "br/");

输出:

2007-1-29

8:49

Response.Write(DateTime.Now.ToLongDateString() + "br/");

Response.Write(DateTime.Now.ToLongTimeString() + "br/");

输出:

2007年1月29日

8:49:15

不知合不合你要求

我是要VS2005下使用,很好用。可查看MSDN以下简单例出:

.NET Framework 类库

DateTime 成员

请参见 构造函数 字段 方法 属性 显式接口实现

全部折叠 全部展开 成员选项:全部显示 成员选项:已筛选

包括继承的成员

包括受保护的成员

仅 .NET Compact Framework 成员

表示时间上的一刻,通常以日期和当天的时间表示。

下表列出了由 DateTime 类型公开的成员。

公共构造函数

名称 说明

DateTime 已重载。初始化 DateTime 结构的新实例。

页首

公共字段

名称 说明

MaxValue 表示 DateTime 的最大可能值。此字段为只读。

MinValue 表示 DateTime 的最小可能值。此字段为只读。

页首

公共属性

名称 说明

Date 获取此实例的日期部分。

Day 获取此实例所表示的日期为该月中的第几天。

DayOfWeek 获取此实例所表示的日期是星期几。

DayOfYear 获取此实例所表示的日期是该年中的第几天。

Hour 获取此实例所表示日期的小时部分。

Kind 获取一个值,该值指示由此实例表示的时间是基于本地时间、协调通用时间 (UTC),还是两者皆否。

Millisecond 获取此实例所表示日期的毫秒部分。

Minute 获取此实例所表示日期的分钟部分。

Month 获取此实例所表示日期的月份部分。

Now 获取一个 DateTime 对象,该对象设置为此计算机上的当前日期和时间,表示为本地时间。

Second 获取此实例所表示日期的秒部分。

Ticks 获取表示此实例的日期和时间的刻度数。

TimeOfDay 获取此实例的当天的时间。

Today 获取当前日期。

UtcNow 获取一个 DateTime 对象,该对象设置为此计算机上的当前日期和时间,表示为协调通用时间 (UTC)。

Year 获取此实例所表示日期的年份部分。

页首

公共方法

名称 说明

Add 将指定的 TimeSpan 的值加到此实例的值上。

AddDays 将指定的天数加到此实例的值上。

AddHours 将指定的小时数加到此实例的值上。

AddMilliseconds 将指定的毫秒数加到此实例的值上。

AddMinutes 将指定的分钟数加到此实例的值上。

AddMonths 将指定的月份数加到此实例的值上。

AddSeconds 将指定的秒数加到此实例的值上。

AddTicks 将指定的刻度数加到此实例的值上。

AddYears 将指定的年份数加到此实例的值上。

Compare 比较 DateTime 的两个实例,并返回它们相对值的指示。

CompareTo 已重载。 将此实例与指定的对象或值类型进行比较,并返回二者相对值的指示。

DaysInMonth 返回指定年和月中的天数。

Equals 已重载。 返回一个值,该值指示两个 DateTime 对象,或者一个 DateTime 实例和另一个对象或 DateTime 是否相等。

FromBinary 反序列化一个 64 位二进制值,并重新创建序列化的 DateTime 初始对象。

FromFileTime 将指定的 Windows 文件时间转换为等效的本地时间。

FromFileTimeUtc 将指定的 Windows 文件时间转换为等效的 UTC 时间。

FromOADate 返回与指定的 OLE 自动化日期等效的 DateTime。

GetDateTimeFormats 已重载。 将此实例的值转换为标准 DateTime 格式说明符支持的所有字符串表示形式。

GetHashCode 已重写。 返回此实例的哈希代码。

GetType 获取当前实例的 Type。 (从 Object 继承。)

GetTypeCode 返回值类型 DateTime 的 TypeCode。

IsDaylightSavingTime 指示此 DateTime 实例是否在当前时区的夏时制范围内。

IsLeapYear 返回指定的年份是否为闰年的指示。

op_Addition 将指定的时间间隔加到指定的日期和时间以生成新的日期和时间。

op_Equality 确定 DateTime 的两个指定的实例是否相等。

op_GreaterThan 确定指定的 DateTime 是否大于另一个指定的 DateTime。

op_GreaterThanOrEqual 确定指定的 DateTime 是否大于或等于另一个指定的 DateTime。

op_Inequality 确定 DateTime 的两个指定的实例是否不等。

op_LessThan 确定指定的 DateTime 是否小于另一个指定的 DateTime。

op_LessThanOrEqual 确定指定的 DateTime 是否小于或等于另一个指定的 DateTime。

op_Subtraction 已重载。 从指定的 DateTime 减去指定的 DateTime 或 TimeSpan。

Parse 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。

ParseExact 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。该字符串表示形式的格式必须与指定的格式完全匹配。

ReferenceEquals 确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)

SpecifyKind 创建新的 DateTime 对象,该对象表示与指定的 DateTime 相同的时间,但是根据指定的 DateTimeKind 值的指示,指定为本地时间或协调通用时间 (UTC),或者两者皆否。

Subtract 已重载。 从此实例中减去指定的时间或持续时间。

ToBinary 将当前 DateTime 对象序列化为一个 64 位二进制值,该值随后可用于重新创建 DateTime 对象。

ToFileTime 将当前 DateTime 对象的值转换为 Windows 文件时间。

ToFileTimeUtc 将当前 DateTime 对象的值转换为 Windows 文件时间。

ToLocalTime 将当前 DateTime 对象的值转换为本地时间。

ToLongDateString 将此实例的值转换为其等效的长日期字符串表示形式。

ToLongTimeString 将此实例的值转换为其等效的长时间字符串表示形式。

ToOADate 将此实例的值转换为等效的 OLE 自动化日期。

ToShortDateString 将此实例的值转换为其等效的短日期字符串表示形式。

ToShortTimeString 将此实例的值转换为其等效的短时间字符串表示形式。

ToString 已重载。 已重写。 将此实例的值转换为其等效的字符串表示。

ToUniversalTime 将当前 DateTime 对象的值转换为协调通用时间 (UTC)。

TryParse 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。

TryParseExact 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。该字符串表示形式的格式必须与指定的格式完全匹配。

页首

显式接口实现

名称 说明

System.IConvertible.ToBoolean 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToByte 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToChar 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToDateTime 返回当前 DateTime 对象。

System.IConvertible.ToDecimal 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToDouble 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToInt16 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToInt32 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToInt64 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToSByte 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToSingle 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToType 将当前的 DateTime 对象转换为指定类型的对象。

System.IConvertible.ToUInt16 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToUInt32 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToUInt64 不支持此转换。尝试这样做会引发 InvalidCastException。

System.Runtime.Serialization.ISerializable.GetObjectData 使用序列化当前 DateTime 对象所需要的数据来填充 SerializationInfo 对象。

页首

请参见

参考

DateTime 结构


分享标题:vb点虐 哈希 vbnet hashtable
文章URL:http://cdweb.net/article/ddcgsig.html