Heim > Backend-Entwicklung > C#.Net-Tutorial > Zusammenfassung der Methoden zum Generieren von Zufallszeichenfolgen oder -zahlen in VB.NET

Zusammenfassung der Methoden zum Generieren von Zufallszeichenfolgen oder -zahlen in VB.NET

高洛峰
Freigeben: 2016-12-10 09:22:42
Original
2379 Leute haben es durchsucht

In diesem Artikel werden insgesamt 5 Möglichkeiten zum Generieren von Zufallszahlen vorgestellt:

Die erste: Nachdruckmethode

Public Enum stringtype
    allstring = 1    '大小写字母
    allnumic = 2    '数字
    str_num = 3    '大小写字母+数字
    str_upper = 4    '大写字母
    str_lower = 5 '大写字母 
  End Enum
  Function GenerateRandom(ByVal Length As Integer, ByVal s As stringtype) As String
    Dim strtemp As String = ""
    Dim constant() As String = Nothing
    Select Case s
      Case stringtype.allnumic
        strtemp = "0,1,2,3,4,5,6,7,8,9"
        constant = strtemp.Split(",")
      Case stringtype.allstring
        strtemp = "a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,D,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,X,Y,Z"
        constant = strtemp.Split(",")
      Case stringtype.str_lower
        strtemp = "a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z"
        constant = strtemp.Split(",")
      Case stringtype.str_num
        strtemp = "a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,D,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,X,Y,Z,0,1,2,3,4,5,6,7,8,9"
        constant = strtemp.Split(",")
      Case stringtype.str_upper
        strtemp = "A,B,C,E,F,D,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z"
        constant = strtemp.Split(",")
    End Select
    Dim NewRandom As System.Text.StringBuilder = New System.Text.StringBuilder(Length)
    Dim rd As Random = New Random()
    Dim i As Integer
    For i = 0 To Length - 1 Step i + 1
      NewRandom.Append(constant(rd.Next(constant.Length - 1)))
    Next
    Return NewRandom.ToString()
  End Function
Nach dem Login kopieren

Der zweite Typ: Online suchen

Public Function GetOAuthNonce() As String ' 得到随机值
    Dim result As String = System.Guid.NewGuid().ToString()
    result = result.Replace("-", "")
    Return result.Substring(0, 10)
  End Function
Nach dem Login kopieren

Public Function RandCode(ByVal n As Integer) As String
    Dim arrChar As Char() = New Char() {"a"c, "b"c, "d"c, "c"c, "e"c, "f"c, _
                      "g"c, "h"c, "i"c, "j"c, "k"c, "l"c, _
                      "m"c, "n"c, "p"c, "r"c, "q"c, "s"c, _
                      "t"c, "u"c, "v"c, "w"c, "z"c, "y"c, _
                      "x"c, "0"c, "1"c, "2"c, "3"c, "4"c, _
                      "5"c, "6"c, "7"c, "8"c, "9"c, "A"c, _
                      "B"c, "C"c, "D"c, "E"c, "F"c, "G"c, _
                      "H"c, "I"c, "J"c, "K"c, "L"c, "M"c, _
                      "N"c, "Q"c, "P"c, "R"c, "T"c, "S"c, _
                      "V"c, "U"c, "W"c, "X"c, "Y"c, "Z"c}
    Dim num As New StringBuilder()
    Dim rnd As New Random(DateTime.Now.Millisecond)
    For i As Integer = 0 To n - 1
      num.Append(arrChar(rnd.[Next](0, arrChar.Length)).ToString())
    Next
    Return num.ToString()
  End Function
Nach dem Login kopieren

>

   
Public Function RandCode(ByVal n As Integer) As String
    Dim arrChar As Char() = New Char() {"a"c, "b"c, "d"c, "c"c, "e"c, "f"c, _
                      "g"c, "h"c, "i"c, "j"c, "k"c, "l"c, _
                      "m"c, "n"c, "p"c, "r"c, "q"c, "s"c, _
                      "t"c, "u"c, "v"c, "w"c, "z"c, "y"c, _
                      "x"c, "0"c, "1"c, "2"c, "3"c, "4"c, _
                      "5"c, "6"c, "7"c, "8"c, "9"c, "A"c, _
                      "B"c, "C"c, "D"c, "E"c, "F"c, "G"c, _
                      "H"c, "I"c, "J"c, "K"c, "L"c, "M"c, _
                      "N"c, "Q"c, "P"c, "R"c, "T"c, "S"c, _
                      "V"c, "U"c, "W"c, "X"c, "Y"c, "Z"c}
    Dim num As New StringBuilder()
    Dim rnd As New Random(DateTime.Now.Millisecond)
    For i As Integer = 0 To n - 1
      num.Append(arrChar(rnd.[Next](0, arrChar.Length)).ToString())
    Next
    Return num.ToString()
  End Function
Nach dem Login kopieren
Die vierte Methode : Verwenden Sie VB6 zum Konvertieren

Function makeRand(ByVal maxLen As Integer) As String '生成签名时用随机串
    Dim strNewPass As String = vbNullString
    Dim lower As Long
    Dim whatsNext As Long
    Dim upper As Long
    Dim intCounter As Long
    Randomize()
    For intCounter = 1 To maxLen
      whatsNext = Int((1 - 0 + 1) * Rnd() + 0)
      If whatsNext = 0 Then
        upper = 122
        lower = 100
      Else
        upper = 57
        lower = 48
      End If
      strNewPass = strNewPass & Chr(Int((upper - lower + 1) * Rnd() + lower))
    Next
    makeRand = strNewPass
  End Function
Nach dem Login kopieren
Die fünfte Methode: Verwenden Sie die VB.NET-Funktion direkt

Dim rand As Random = New System.Random(10)‘这里10就代表是10为
 Debug.Print(rand.Next().ToString)
Nach dem Login kopieren

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage