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

 更新时间:2014年05月15日 15:11:13   作者:  
发现两个随机生成不重复字符串的方法,感觉还不错,下面与大家分享下
今天整理以前一个项目源码,发现两个随机生成不重复字符串的方法,觉得用起来挺方便的,在此贴出来,方便以后查阅。

方法一:随机生成不重复数字字符串
复制代码 代码如下:

private int rep=0;

/// <summary>
/// 生成随机数字字符串
/// </summary>
/// <param name="codeCount">待生成的位数</param>
/// <returns>生成的数字字符串</returns>
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;
}

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

/// <summary>
/// 生成随机字母字符串(数字字母混和)
/// </summary>
/// <param name="codeCount">待生成的位数</param>
/// <returns>生成的字母字符串</returns>
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;
}

相关文章

  • Asp.Net Core轻松学习系列之配置文件

    Asp.Net Core轻松学习系列之配置文件

    这篇文章主要给大家介绍了关于Asp.Net Core轻松学习系列之配置文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • asp.net gridview自定义value值的代码

    asp.net gridview自定义value值的代码

    asp.net gridview自定义value值的代码,需要的朋友可以参考下。
    2011-07-07
  • 使用Entity Framework(4.3.1版本)遇到的问题整理

    使用Entity Framework(4.3.1版本)遇到的问题整理

    在这里记录一下之前使用Entity Framework(4.3.1版本)遇到的问题:更新没有设置主键的表、更改Code-First的默认连接、检测字符串截断错误,需要的朋友可以参考下
    2012-12-12
  • asp.net如何进行mvc异步查询

    asp.net如何进行mvc异步查询

    这篇文章主要介绍了asp.net如何进行mvc异步查询,Asp.net mvc 有自己独特的优势,有需要的朋友可以来了解一下。
    2016-10-10
  • 浅析.net策略模式

    浅析.net策略模式

    这篇文章主要介绍了浅析.net策略模式,需要的朋友可以参考下
    2014-12-12
  • 解析linq to xml操作XML的示例分析

    解析linq to xml操作XML的示例分析

    本篇文章是对linq to xml操作XML的示例进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • asp net core 2.1中如何使用jwt(从原理到精通)

    asp net core 2.1中如何使用jwt(从原理到精通)

    这篇文章主要给大家介绍了关于asp net core 2.1中如何使用jwt(从原理到精通)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-11-11
  • ASP.NET中用js取CheckBoxList中值的方法实例

    ASP.NET中用js取CheckBoxList中值的方法实例

    用脚本取CheckBoxList中的值,并用"|"将其分开,之后将取到的值放入文本框,返回数据库做添加或者修改
    2013-07-07
  • .net SMTP发送Email实例(可带附件)

    .net SMTP发送Email实例(可带附件)

    本文为大家详细介绍下.net SMTP发送Email同时可带附件的具体实现思路及代码,想实现的朋友可以参考下哈,希望对大家有所帮助
    2013-07-07
  • 一个简单的asp.net 单点登录实现

    一个简单的asp.net 单点登录实现

    上次做了学校的火车订票系统,那边要求要从学生信息平台直接点过来就是登录状态,不用在重新登录。学生信息平台原来是用asp做的,而火车订票系统是asp.net做的。两个网站的学生信息调用的是同一个数据库。
    2009-11-11

最新评论