> 백엔드 개발 > C#.Net 튜토리얼 > VB.NET에서 임의의 문자열이나 숫자를 생성하는 방법 요약

VB.NET에서 임의의 문자열이나 숫자를 생성하는 방법 요약

高洛峰
풀어 주다: 2016-12-10 09:22:42
원래의
2377명이 탐색했습니다.

이 글에서는 난수를 생성하는 총 5가지 방법을 다음과 같이 소개합니다.

첫 번째: 재인쇄 방법

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
로그인 후 복사

두 번째 유형: 온라인 검색

Public Function GetOAuthNonce() As String ' 得到随机值
    Dim result As String = System.Guid.NewGuid().ToString()
    result = result.Replace("-", "")
    Return result.Substring(0, 10)
  End Function
로그인 후 복사

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
로그인 후 복사

>

   
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
로그인 후 복사
네 번째 방법 : VB6을 사용하여 변환

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
로그인 후 복사
다섯 번째 방법 : VB.NET 함수를 직접 사용

Dim rand As Random = New System.Random(10)‘这里10就代表是10为
 Debug.Print(rand.Next().ToString)
로그인 후 복사

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿