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);
}
}
}
相关推荐
minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类minio C#封装类
c# RabbitMQ封装类,连接发送接收解析都支持
C# winhttp 开发封装类 简化get post 请求 带cookie 可自定头文件
本主题将详细讲解如何使用C#进行MySQL数据库的连接和操作,以及封装类的实现方式。 首先,我们需要理解C#连接MySQL的基本原理。这通常涉及到使用ADO.NET库,特别是`MySql.Data`组件,它是MySQL提供的.NET数据提供者...
在本场景中,我们关注的是一个名为"C#中oracle连接数据库的封装类"的主题,这个主题涉及到创建一个名为`DbHelperOra.cs`的类,用于简化与Oracle数据库的交互。这种封装可以提高代码的可读性和复用性,减少直接处理...
c# 日志记录封装类,存储为日志文件
本资源“C# socket封装类和组件含例程全部开源”提供了一套全面且强大的C# Socket封装,旨在简化开发过程,提高代码的可读性和可维护性。以下是对这个开源项目的详细解析: 首先,Socket是TCP/IP协议族的基本组成...
标题"\"C# 海康威视 封装类 HCNetSDK\"\"指出,这是一个使用C#语言对海康威视的HCNetSDK进行封装的类库。这个封装类库通常包含了对原始SDK的API进行包装,以适应C#的编程习惯,同时也可能加入了额外的功能或优化,以...
c# http请求webapi接口封装类
一个经过封装的类,封装.NET原有的Serial Port控件,拥有更加灵活的使用。
* 本协议类最主要的思想是 把所有向下位机发送的指令 先存放在缓冲区中(命名为管道) * 再将管道中的指令逐个发送出去。 * 管道遵守FIFO的模式。管道中所存放指令的个数 在全局变量中定义。 * 管道内主要分为两部分...
C#操作mysql数据库的封装类,带注释,代码完整,适合企业级开发
CommPort.cs为C#封装的基于API串口类,经过大量项目验证测试,读写速度均非常快,而且几乎不怎么消耗系统资源。
本文将详细解析标题为“C#日志封装类,队列方式处理”的技术点,以及如何利用队列实现并发处理。同时,我们会结合"WinForm"这一标签,探讨如何在Windows桌面应用中有效运用这种日志处理方式。 首先,让我们理解“C#...
本文将详细讨论如何在C#中封装一个用于执行HTTP GET和POST请求的类,以及`HttpHelper.cs`文件中的关键实现。 首先,了解GET和POST的基本概念。GET请求通常用于获取资源,其参数通过URL查询字符串传递,且对数据量有...
标题中的“对于C#(HttpClient)方式网络请求的封装”是指使用C#编程语言,特别是通过HttpClient类来处理HTTP网络请求,并将这个过程进行抽象和封装,以便在多个地方重复使用。HttpClient是.NET Framework和.NET ...
本篇将深入探讨如何使用C#封装串口通讯类,并理解其中涉及的关键知识点。 1. **C#基础与.NET框架** C#是一种面向对象的编程语言,由微软公司开发,主要用于构建Windows应用程序和服务。它支持.NET框架,这是一个...
本文将深入探讨如何使用C#进行TCP(传输控制协议)通信,并基于提供的“c#做项目封装的tcp类”这一主题,解析和解释相关知识点。 首先,TCP是一种面向连接的、可靠的传输协议,它保证了数据的顺序和完整性。在C#中...
本篇将详细介绍"C# 同步Socket TCP/UDP 封装类"的相关知识点。 一、Socket基础 Socket,也被称为套接字,是网络通信中的一个抽象接口,用于在不同进程间进行数据传输。在C#中,Socket类位于System.Net.Sockets命名...
SqliteHelper.cs是封装了C#项目里对sqlite的-增删改查等基本操作的小巧类文件,希望对大家有帮助。