VB.NET生成随机串或随机数字的方法总结

本文一共介绍了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

登录后复制

   

第三种:原来是C#转换

   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)

登录后复制

   

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2445385.html

(0)
上一篇 2025年3月3日 16:02:36
下一篇 2025年2月18日 06:22:04

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • vb.net和vb的区别是什么?

    vb.net和vb的区别是什么?vb.net增加了vb的很多特性,而且演化成为完全面向对象的编程语言。下面本篇文章给大家对比一下vb.net和vb,介绍一下vb.net和vb的区别,希望对大家有所帮助。 vb.net和vb的区别 1、vb.…

    2025年3月3日
    200
  • vb.net和python区别

    vb.net和python区别 Python的应用面相对广,跨平台,而且易于上手,代码条理清晰,人工智能,自动化任务,以及Web应用都算是Python一展所长的地方。 VB算是比较老的编程语言,是编译型语言,对Windows的支持比较好。可…

    2025年2月27日
    200
  • 如何利用Redis和VB.NET实现实时日志收集功能

    如何利用Redis和VB.NET实现实时日志收集功能 引言:在现代的软件开发和运维中,日志的重要性不言而喻。通过日志的收集和分析,我们可以了解系统的运行情况、检测问题和故障,从而帮助我们及时发现和解决潜在的风险。本文将介绍如何利用Redis…

    2025年2月23日
    200
  • 如何利用Redis和VB.NET开发分布式缓存更新功能

    如何利用Redis和VB.NET开发分布式缓存更新功能 随着互联网的不断发展,应用程序的用户数量也在不断增加。在高并发的场景下,为了提高应用程序的性能和扩展性,我们通常会使用缓存来减轻数据库的负载。 Redis是一种高性能的内存数据存储和缓…

    2025年2月23日
    200
  • VB.NET中使用Linq TO SQL添加数据后获得自增长列ID

    VB.NET中使用Linq TO SQL添加数据后获得自增长列ID VB.NET中使用Linq TO SQL添加数据后获得自增长列ID: Dim tempOrdre As New Order With {.CustomerID = cmbC…

    数据库 2025年2月22日
    200
  • 利用MySQL和VB.NET开发:如何实现事务处理功能

    利用mysql和vb.net开发:如何实现事务处理功能 引言:在软件开发中,事务处理是一项非常重要的功能。事务是指一组数据库操作,它们被认为是一个不可分割的工作单元,要么全部执行成功,要么全部失败回滚。在应用程序中使用事务处理可以确保数据的…

    数据库 2025年2月18日
    200
  • 如何使用MySQL在VB.NET中实现数据报表生成功能

    如何使用mysql在vb.net中实现数据报表生成功能 引言:在开发软件时,常常需要对数据库中的数据进行报表分析和生成,这对于企业管理和数据分析非常重要。在VB.NET开发中,我们可以利用MySQL数据库和相关的编程技巧来实现数据报表的生成…

    数据库 2025年2月18日
    200

发表回复

登录后才能评论