<19> go random string

利用random给数据主键生成唯一ID

// 生成: 时间戳 + 设置前缀 + 随即字符串
const alphanum = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
func  RandomString(pixff string, strlen int) string {
rand.Seed(time.Now().UTC().UnixNano())
    result := make([]byte, strlen)
    for i := 0; i < strlen; i++ {
        result[i] = alphanum[rand.Intn(len(alphanum))]
    }
    return time.Now().Format("20151212010203") + "-" + pixff + "-" + string(result)
}
这是一个 C# 中用于生成随机字符串的类。该类的代码如下: ```csharp using System; using System.Collections.Generic; using System.Text; namespace 卡密生成器 { public class RandomStringGenerator { // 随机字符集,包括大小写字母和数字 private static readonly string AlphanumericChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; // 用于存储已经生成的随机字符串,避免重复 private static HashSet<string> generatedStrings = new HashSet<string>(); // 生成指定数量的随机字符串,每个字符串的长度为 sum public static List<string> GenerateRandomStrings(int count, int sum) { List<string> result = new List<string>(); while (result.Count < count) { string randomString = GenerateRandomString(sum); if (!generatedStrings.Contains(randomString)) { generatedStrings.Add(randomString); result.Add(randomString); } } return result; } // 生成一个长度为 sum 的随机字符串 private static string GenerateRandomString(int sum) { StringBuilder sb = new StringBuilder(); Random random = new Random(); for (int i = 0; i < sum; i++) { int index = random.Next(AlphanumericChars.Length); sb.Append(AlphanumericChars[index]); } return sb.ToString(); } } } ``` 代码解释: 第1-4行:引入命名空间,并定义一个名为 RandomStringGenerator 的公共类。 第6行:定义一个名为 AlphanumericChars 的静态只读字段,表示随机字符集。 第8行:定义一个名为 generatedStrings 的静态 HashSet 字段,用于存储已经生成的随机字符串,避免重复。 第10-18行:定义一个名为 GenerateRandomStrings 的公共静态方法,用于生成指定数量的随机字符串。 第11行:创建一个空的字符串列表,用于存储生成的随机字符串。 第12-17行:使用 while 循环,当字符串列表中的元素数量达到 count 时,停止循环。 第13行:生成一个随机字符串。 第14-16行:如果这个随机字符串没有出现过,则将其添加到字符串列表和已生成的字符串集合中。 第19-27行:定义一个名为 GenerateRandomString 的私有静态方法,用于生成一个长度为 sum 的随机字符串。 第20行:创建一个 StringBuilder 对象,用于存储生成的随机字符串。 第21行:创建一个 Random 对象,用于生成随机数。 第22-26行:使用 for 循环,生成随机字符串。在每次循环中,先生成一个随机数 index,然后从字符集中取出对应位置的字符,并将其添加到 StringBuilder 对象中。 第27行:返回 StringBuilder 对象中存储的随机字符串。 希望这个示例代码能够帮助您理解如何使用 C# 生成随机字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值