using System; using System.Collections.Generic; using System.Text; namespace PublicLibrary.Common { public class RandHelper { /// /// 获得三位的随机数 /// /// public static string getThreeNumRandom() { Random ro = new Random(); int iResult; int iUp = 999; int iDown = 100; iResult = ro.Next(iDown, iUp); //Response.Write(iResult.ToString()); return iResult.ToString().Trim(); } /// /// 新的日期字符串 /// /// /// public static string generateNewLongDateTime() { string currentTime = DateTime.Now.ToString("yyyyMMddHHmmss"); return currentTime; } /*无重复的ID生成可由上述二个函数来生成: 既可以生成由当前日期生成的ID,也可以由以前日期来生成这样的ID string newid = generateNewLongDateTime() + getTreeNumRandom(); NewDateAndTime.ToString("yyyyMMddhhmmss"); 这一句有问题,如果是下午12点以后,就会产生13-12,14-12的情况,不是按24小时制来完成的。 NewDateAndTime.ToString("yyyyMMddHHmmss"); ToString("yyyyMMddhhmmss"); 12时制 要改成ToString("yyyyMMddHHmmss"); 24时制*/ public static long GetTimeRandId() { string newid = generateNewLongDateTime() + getThreeNumRandom(); return Int64.Parse(newid); } public static string GetRandGuid(int length) { string newid = Guid.NewGuid().ToString("N"); newid = newid.Substring(0, length); return newid; } private static char[] constant = { '0','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', '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' }; public static string GenerateRandomCode(int Length) { System.Text.StringBuilder newRandom = new System.Text.StringBuilder(62); Random rd = new Random(); for (int i = 0; i < Length; i++) { newRandom.Append(constant[rd.Next(62)]); } return newRandom.ToString(); } } }