C#的随机类封装RandomHelper
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
?
namespace?Utility.Helper
{
????public?static?class?RandomHelper
????{
????????///?<summary>
????????///?取随机数
????????///?</summary>
????????///?<param?name="length"></param>
????????///?<returns></returns>
????????public?static?string?BuildRandomStr(int?length)
????????{
????????????Random?rand?=?new?Random();
?
????????????int?num?=?rand.Next();
?
????????????string?str?=?num.ToString();
?
????????????if?(str.Length?>?length)
????????????{
????????????????str?=?str.Substring(0,?length);
????????????}
????????????else?if?(str.Length?<?length)
????????????{
????????????????int?n?=?length?-?str.Length;
????????????????while?(n?>?0)
????????????????{
????????????????????str.Insert(0,?"0");
????????????????????n--;
????????????????}
????????????}
????????????return?str;
????????}
????????///?<summary>
????????///?Guid唯一标识
????????///?</summary>
????????///?<returns></returns>
????????public?static?string?GetUUID()?{
????????????string?_guid?=?Guid.NewGuid().ToString();
????????????return?_guid.Replace("-","").ToString();
????????}
?
????????///?<summary>
????????///?取时间戳生成随即数,替换交易单号中的后10位流水号
????????///?</summary>
????????///?<returns></returns>
????????public?static?UInt32?UnixStamp()
????????{
????????????TimeSpan?ts?=?DateTime.Now?-?TimeZone.CurrentTimeZone.ToLocalTime(new?DateTime(1970,?1,?1));
????????????return?Convert.ToUInt32(ts.TotalSeconds);
????????}
?
????????///?<summary>
????????///?产生随机数字字符串
????????///?</summary>
????????///?<returns></returns>
????????public?static?string?RandomStr(int?Num)
????????{
????????????int?number;
????????????char?code;
????????????string?returnCode?=?String.Empty;
?
????????????Random?random?=?new?Random();
?
????????????for?(int?i?=?0;?i?<?Num;?i++)
????????????{
????????????????number?=?random.Next();
????????????????code?=?(char)('0'?+?(char)(number?%?10));
????????????????returnCode?+=?code.ToString();
????????????}
????????????return?returnCode;
????????}
????????
????????///?<summary>
????????///?生成随机数字字符串
????????///?</summary>
????????///?<param?name="int_NumberLength">数字长度</param>
????????///?<returns></returns>
????????public?static?string?GetRandomNumberString(int?int_NumberLength)
????????{
????????????return?GetRandomNumberString(int_NumberLength,?false);
????????}
????????///?<summary>
????????///?生成随机数字字符串
????????///?</summary>
????????///?<param?name="int_NumberLength">数字长度</param>
????????///?<returns></returns>
????????public?static?string?GetRandomNumberString(int?int_NumberLength,?bool?onlyNumber)
????????{
????????????Random?random?=?new?Random();
????????????return?GetRandomNumberString(int_NumberLength,?onlyNumber,?random);
????????}
????????///?<summary>
????????///?生成随机数字字符串
????????///?</summary>
????????///?<param?name="int_NumberLength">数字长度</param>
????????///?<returns></returns>
????????public?static?string?GetRandomNumberString(int?int_NumberLength,?bool?onlyNumber,?Random?random)
????????{
????????????string?strings?=?"123456789";
????????????if?(!onlyNumber)?strings?+=?"abcdefghjkmnpqrstuvwxyz";
????????????char[]?chars?=?strings.ToCharArray();
????????????string?returnCode?=?string.Empty;
????????????for?(int?i?=?0;?i?<?int_NumberLength;?i++)
????????????????returnCode?+=?chars[random.Next(0,?chars.Length)].ToString();
????????????return?returnCode;
????????}
????????///?<summary>
????????///?生成产品订单号,全站统一格式
????????///?</summary>
????????///?<returns></returns>
????????public?static?string?GetProductOrderNum()
????????{
????????????return?DateTime.Now.ToString("yyyyMMddHHmmss")?+?GetRandomNumberString(4,?true);
????????}
????}
}
?