首先要修改一下配置,C#中又checked和unchedked检查整数溢出处理
但是VB.NET中没办法,溢出即报错,唯一处理方法是
VB.net菜单:项目 --> XXX 属性... --> 配置 --> 优化 --> 选中“移除整数溢出检查”复选框
1
Function RndStr()Function RndStr() As String
2
Dim gb As System.Text.Encoding = System.Text.Encoding.GetEncoding("gb2312")
3
Dim bytes As Object() = CreateRegionCode(4)
4
Dim str1 As String = gb.GetString(DirectCast(Convert.ChangeType(bytes(0), GetType(Byte())), Byte()))
5
Dim str2 As String = gb.GetString(DirectCast(Convert.ChangeType(bytes(1), GetType(Byte())), Byte()))
6
Dim str3 As String = gb.GetString(DirectCast(Convert.ChangeType(bytes(2), GetType(Byte())), Byte()))
7
Dim str4 As String = gb.GetString(DirectCast(Convert.ChangeType(bytes(3), GetType(Byte())), Byte()))
8
Dim txt As String = (str1 & str2 & str3 & str4)
9
End Function
10
11
Function CreateRegionCode()Function CreateRegionCode(ByVal strlength As Integer) As Object()
12
Dim rBase As String() = New String() {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"}
13
Dim rnd As New Random
14
Dim bytes As Object() = New Object(strlength - 1) {}
15
Dim i As Integer = 0
16
Do While (i < strlength)
17
Dim r2 As Integer
18
Dim r4 As Integer
19
Dim r1 As Integer = rnd.Next(11, 14)
20
Dim str_r1 As String = rBase(r1).Trim
21
rnd = New Random(r1 * DateTime.Now.Ticks + i)
22
If (r1 = 13) Then
23
r2 = rnd.Next(0, 7)
24
Else
25
r2 = rnd.Next(0, &H10)
26
End If
27
Dim str_r2 As String = rBase(r2).Trim
28
Dim r3 As Integer = New Random((r2 * DateTime.Now.Ticks) + i).Next(10, &H10)
29
Dim str_r3 As String = rBase(r3).Trim
30
rnd = New Random((r3 * DateTime.Now.Ticks) + i)
31
Select Case r3
32
Case 10
33
r4 = rnd.Next(1, &H10)
34
Exit Select
35
Case 15
36
r4 = rnd.Next(0, 15)
37
Exit Select
38
Case Else
39
r4 = rnd.Next(0, &H10)
40
Exit Select
41
End Select
42
Dim str_r4 As String = rBase(r4).Trim
43
Dim byte1 As Byte = Convert.ToByte((str_r1 & str_r2), &H10)
44
Dim byte2 As Byte = Convert.ToByte((str_r3 & str_r4), &H10)
45
Dim str_r As Byte() = New Byte() {byte1, byte2}
46
bytes.SetValue(str_r, i)
47
i += 1
48
Loop
49
Return bytes
50
End Function
posted @ 2007-04-06 11:04
BoyLee 阅读(375)
评论(0) 编辑 收藏 所属分类:
Asp.Net