欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#生成不重復(fù)隨機(jī)字符串類

 更新時間:2015年03月25日 10:46:16   作者:feige  
這篇文章主要介紹了C#生成不重復(fù)隨機(jī)字符串類,涉及C#隨機(jī)數(shù)與字符串的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了C#生成不重復(fù)隨機(jī)字符串類。分享給大家供大家參考。具體如下:

這個C#類用于隨機(jī)產(chǎn)生不重復(fù)的字符串,可以指定字符串范圍,可以指定要產(chǎn)生字符串的長度

using System;
namespace DotNet.Utilities
{
  public class RandomOperate
  {
    // 一:隨機(jī)生成不重復(fù)數(shù)字字符串 
    private int rep = 0;
    public 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;
    }
    //方法二:隨機(jī)生成字符串(數(shù)字和字母混和)
    public 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;
    }
    #region
    /// <summary>
    /// 從字符串里隨機(jī)得到,規(guī)定個數(shù)的字符串.
    /// </summary>
    /// <param name="allChar"></param>
    /// <param name="CodeCount"></param>
    /// <returns></returns>
    private string GetRandomCode(string allChar, int CodeCount)
    {
      //string allChar = "1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,i,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
      string[] allCharArray = allChar.Split(',');
      string RandomCode = "";
      int temp = -1;
      Random rand = new Random();
      for (int i = 0; i < CodeCount; i++)
      {
        if (temp != -1)
        {
          rand = new Random(temp * i * ((int)DateTime.Now.Ticks));
        }
        int t = rand.Next(allCharArray.Length - 1);
        while (temp == t)
        {
          t = rand.Next(allCharArray.Length - 1);
        }
        temp = t;
        RandomCode += allCharArray[t];
      }
      return RandomCode;
    }
    #endregion
  }
}

希望本文所述對大家的C#程序設(shè)計有所幫助。

相關(guān)文章

  • C#實現(xiàn)xml文件反序列化讀入數(shù)據(jù)到object的方法

    C#實現(xiàn)xml文件反序列化讀入數(shù)據(jù)到object的方法

    這篇文章主要介紹了C#實現(xiàn)xml文件反序列化讀入數(shù)據(jù)到object的方法,涉及C#操作XML文件類型轉(zhuǎn)換的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C# Winform選項卡集成窗體詳解

    C# Winform選項卡集成窗體詳解

    這篇文章主要為大家詳細(xì)介紹了C# Winform選項卡集成窗體詳解的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 通過實例解析c# yield關(guān)鍵字使用方法

    通過實例解析c# yield關(guān)鍵字使用方法

    這篇文章主要介紹了通過實例解析c# yield關(guān)鍵字使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • .NET WinForm實現(xiàn)在listview中添加progressbar的方法

    .NET WinForm實現(xiàn)在listview中添加progressbar的方法

    這篇文章主要介紹了.NET WinForm實現(xiàn)在listview中添加progressbar的方法,結(jié)合實例形式簡單分析了進(jìn)度條控件的添加與使用方法,需要的朋友可以參考下
    2017-05-05
  • .Net多進(jìn)程通信共享內(nèi)存映射文件Memory?Mapped

    .Net多進(jìn)程通信共享內(nèi)存映射文件Memory?Mapped

    這篇文章主要介紹了.Net多進(jìn)程通信共享內(nèi)存映射文件Memory?Mapped的使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • c# WPF設(shè)置軟件界面背景為MediaElement并播放視頻

    c# WPF設(shè)置軟件界面背景為MediaElement并播放視頻

    這篇文章主要介紹了c# WPF如何設(shè)置軟件界面背景為MediaElement并播放視頻,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • 詳解C#中Helper類的使用

    詳解C#中Helper類的使用

    項目中用戶頻繁訪問數(shù)據(jù)庫會導(dǎo)致程序的卡頓,甚至堵塞。使用緩存可以有效的降低用戶訪問數(shù)據(jù)庫的頻次,有效的減少并發(fā)的壓力。而helper類對緩存有了封裝,本文展示了封裝的示例代碼,需要的可以參考一下
    2022-04-04
  • C#使用DevExpress中的XtraCharts控件實現(xiàn)圖表

    C#使用DevExpress中的XtraCharts控件實現(xiàn)圖表

    這篇文章介紹了C#使用DevExpress中的XtraCharts控件實現(xiàn)圖表的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#難點逐個擊破(4):main函數(shù)

    C#難點逐個擊破(4):main函數(shù)

    貌似我是在寫C#的學(xué)習(xí)筆記哦,不過反正可以利用這個機(jī)會來好好溫習(xí)下基礎(chǔ)知識,這其中很多知識點都屬于平時視而見的小知識
    2010-02-02
  • 分享C#中幾個可用的類

    分享C#中幾個可用的類

    這篇文章主要為大家分享了C#中幾個可用的類,并給出了幾個例子進(jìn)行講解,感興趣的小伙伴們可以參考一下
    2016-05-05

最新評論