生成长度为 25 个字符的 unquie ID(无特殊字符)的最佳方法是什么?我正在考虑生成一个 GUID 并获取它的子字符串,但我不知道这是否是唯一性的最佳想法。
这适用于断开连接的系统使用。在我的情况下,在数据库中创建主键不起作用。我需要手动创建一个 unquie ID
我试过了,但由于某种原因,我在输出中看到了重复项。因此,即使在这个简单的测试中,它似乎也不会太不安..
 Sub Main()
        Dim sb As StringBuilder = New StringBuilder
        For i As Integer = 1 To 100000
            Dim s As String = GenerateRandomString(25, True)
            sb.AppendLine(s)
            sb.AppendLine(Environment.NewLine)
        Next
        Console.WriteLine(sb.ToString)
        Console.ReadLine()
    End Sub
    Public Function GenerateRandomString(ByRef len As Integer, ByRef upper As Boolean) As String
        Dim rand As New Random()
        Dim allowableChars() As Char = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ0123456789".ToCharArray()
        Dim final As String = String.Empty
        For i As Integer = 0 To len - 1
            final += allowableChars(rand.Next(allowableChars.Length - 1))
        Next
        Return IIf(upper, final.ToUpper(), final)
    End Function