C#随机生成不重复字符串的两个不错方法

网络编程 2025-03-25 01:31www.168986.cn编程入门

在整理旧项目源码时,我偶然发现了两种生成随机不重复字符串的方法,感觉很有实用价值,决定分享给大家,特别是正在从事狼蚁网站SEO优化的朋友们。

方法一:生成随机数字字符串

此方法能生成指定位数的随机数字字符串。代码如下:

```csharp

private int rep = 0;

///

/// 生成随机数字字符串

///

/// 待生成的位数

/// 生成的数字字符串

private string GenerateCheckCodeNum(int codeCount)

{

string str = string.Empty;

long num2 = DateTime.Now.Ticks + this.rep;

this.rep++;

Random random = new Random(((int)(((ulong)num2) & 0xffffffffL) | ((int)(num2 >> this.rep)));

for (int i = 0; i < codeCount; i++)

{

int num = random.Next();

str = str + ((char)(0x30 + ((ushort)(num % 10))).ToString());

}

return str;

}

```

方法二:生成随机字母字符串(数字和字母混合)

此方法可以生成包含数字和字母的随机字符串。代码如下:

```csharp

///

/// 生成随机字母字符串(数字字母混和)

///

/// 待生成的位数

/// 生成的字母字符串

private string GenerateCheckCode(int codeCount)

{

string str = string.Empty;

long num2 = DateTime.Now.Ticks + this.rep;

this.rep++;

Random random = new Random(((int)(((ulong)num2) & 0xffffffffL) | ((int)(num2 >> this.rep)));

for (int i = 0; i < codeCount; i++)

{

char ch;

int num = random.Next();

if ((num % 2) == 0)

{

ch = (char)(0x30 + ((ushort)(num % 10)));

}

else

{

ch = (char)(0x41 + ((ushort)(num % 0x1a)));

}

str = str + ch.ToString();

}

return str;

}

```

这两种方法都基于当前时间戳和随机数生成器,确保了每次生成的字符串都是随机的且不会重复。无论是需要数字字符串还是字母数字混合字符串,都能轻松应对。希望这些方法能对大家有所帮助,特别是在进行狼蚁网站的SEO优化时,能够派上用场。

上一篇:phpcms配置列表页以及获得文章发布时间 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by