前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VB.net-VSTO随机生成不重复N个姓名

VB.net-VSTO随机生成不重复N个姓名

作者头像
哆哆Excel
发布2023-12-15 13:51:53
1360
发布2023-12-15 13:51:53
举报
文章被收录于专栏:哆哆Excel哆哆Excel

问题

我们在日常进行数据测试中,常常会需要模拟一些数据,如单位、姓名、成绩、得分等,有时候为了想一个姓名,会浪费一点点时间,所以我就设计这样的的一个命令菜单,把常用的姓氏和名字字符组成起来,自从设计好这个,妈妈就不用担心我找不到姓名数据了。

思路:

我在网上取了104个常用的姓氏,再取了264个个常的名字的字,组成数组,再进行取数据生成2字姓名或3字姓名,

操作演示

全屏横屏观看效果更佳

点击命令,选择你要生成数据的区域,确定,生成不重复的姓名

代码

代码语言:javascript
复制
    'n个姓名
    Public Function GetRandNameS(myN As Integer) As Array
        Dim idNumbers As New HashSet(Of String)()
        While idNumbers.Count < myN
            Dim id As String = GetOneName()
            If Not idNumbers.Contains(id) Then
                idNumbers.Add(id)
            End If
        End While
        Dim tn As Integer = 0
        Dim ArrOut(idNumbers.Count - 1) As String
        For Each id As String In idNumbers
            ArrOut(tn) = id
            tn += 1
        Next
        Return ArrOut
    End Function
   '###随机生成一个姓名,由于在网上复制的字符可能有空格,所以要清除空格输出
    Public Function GetOneName() As String
        Dim firstLong As Long = firstNameList.Length
        Dim lastLong As Long = lastNameList.Length
        Dim nameStr As String = firstNameList(random.Next(0, firstNameList.Length))
        Dim lastN As Integer = random.Next(1, 15)
        If lastN >= 2 Then
            For i As Integer = 0 To 1
                nameStr += lastNameList(random.Next(0, lastNameList.Length))
            Next
        Else
            nameStr += lastNameList(random.Next(0, lastNameList.Length))
        End If
        Return nameStr.Replace(" ", "")
    End Function

代码解析

GetOneName()函数用于生一个姓名,firstName是姓氏一个字random.Next(1, 15)生成1-14的数字,可能是1位数,就会生成1字名,如果是2位数就生成2字的名,这一步是考虑到1字名的情况,大约15个就会生成一个1字名。nameStr=firstName+lastName=姓+名=姓名GetRandNameS(myN As Integer) As Array用HashSet哈希列表取不重复,参数myN是要生成N个姓名,返回值是一个数组Array,再foreach就可以输出啦

对你有帮助请转发给大家免费学习

努力更新中...

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档