Foxtable(狐表)用户栏目专家坐堂 → 如何避免随机数重复


  共有2480人关注过本帖树形打印复制链接

主题:如何避免随机数重复

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106081 积分:539504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/16 16:15:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106081 积分:539504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 8:39:00 [显示全部帖子]

代码的do循环就是为了避免重复的

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106081 积分:539504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 9:28:00 [显示全部帖子]

把集合放到外面即可

Dim lst As new List(of String)
For i As Integer = 0 To 7
    Dim ids As String
    Dim cnt As Integer = DataTables("订单客户列表").DataRows.Count
    Do
        Dim Id As Integer = rand.Next(0,cnt)
        id = DataTables("订单客户列表").DataRows(id)("_Identify")
        If lst.Contains(id) =False Then
            lst.Add(id)
            Output.Show(id - 2)
        End If
        ids = ids & id & ","
    Loop While lst.count < 10   '10是要抽取的行数
    Tables("订单客户列表").Filter = "[_Identify] In (" & ids.Trim(",") & ")"
    MessageBox.Show("下一轮")
    Output.Show("下一轮")
Next

 回到顶部