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);
}
}
}
相关推荐
c# RabbitMQ封装类,连接发送接收解析都支持
c# 日志记录封装类,存储为日志文件
C# socket封装类和组件含例程全部开源,可以说全网封装最好的C#类,十分强大,亲测很好,值得参考和学习
C# FTP操作封装类,直接使用,方便快捷!
c# http请求webapi接口封装类
minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类
C#操作mysql数据库的封装类,带注释,代码完整,适合企业级开发
CommPort.cs为C#封装的基于API串口类,经过大量项目验证测试,读写速度均非常快,而且几乎不怎么消耗系统资源。
C# winhttp 开发封装类 简化get post 请求 带cookie 可自定头文件
C# http Get/POST请求封装类
C#中oracle连接数据库的封装类,有简短的说明
* 本协议类最主要的思想是 把所有向下位机发送的指令 先存放在缓冲区中(命名为管道) * 再将管道中的指令逐个发送出去。 * 管道遵守FIFO的模式。管道中所存放指令的个数 在全局变量中定义。 * 管道内主要分为两部分...
随机生成汉字 随机生成汉字随机生成汉字随机生成汉字
可进行自动封装类,重重载方法!运行环境VS2010
这是用C#封装的串口通讯类。其中是直接封装的串口通讯API,故调用的效率应该是很高的。
C# SQL封装类类 里面把SQL用到函数都封装了
以两点间距离计算为例,说明C#类的封装与使用、结构体申明与使用等,本示例时使用Visual Studio .net 2019社区版编写的。
C# PCSC 封装类C# PCSC 封装类C# PCSC 封装类
一个链接MySQL的封装 包含有结果查询和无结果查询 记得先安装mysql-connector-net-8.0.18 然后在项目中添加引用Mysql.Data
C#源代码 ModBusTCP用类封装实现,直接调用即可,项目中通信部分源码,亲测可用。按照标准ModBus协议实现,也可用于普通TCP通信