首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#的随机种封装RandomHelper

2013-03-21 
C#的随机类封装RandomHelperusing?Systemusing?System.Collections.Genericusing?System.Linqusing?Sys

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);

????????}

????}

}

?

热点排行