`
jilong-liang
  • 浏览: 482496 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

C#的随机类封装RandomHelper

    博客分类:
  • C #
C# 
阅读更多

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

        }

    }

}

 

0
1
分享到:
评论

相关推荐

    minio 对C#封装API类

    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# RabbitMQ封装类,连接发送接收解析都支持

    C# winhttp 封装类

    C# winhttp 开发封装类 简化get post 请求 带cookie 可自定头文件

    C#连接Mysql封装类操作

    本主题将详细讲解如何使用C#进行MySQL数据库的连接和操作,以及封装类的实现方式。 首先,我们需要理解C#连接MySQL的基本原理。这通常涉及到使用ADO.NET库,特别是`MySql.Data`组件,它是MySQL提供的.NET数据提供者...

    C#中oracle连接数据库的封装类

    在本场景中,我们关注的是一个名为"C#中oracle连接数据库的封装类"的主题,这个主题涉及到创建一个名为`DbHelperOra.cs`的类,用于简化与Oracle数据库的交互。这种封装可以提高代码的可读性和复用性,减少直接处理...

    c# 日志记录封装类,存储为日志文件

    c# 日志记录封装类,存储为日志文件

    C# socket封装类和组件含例程全部开源

    本资源“C# socket封装类和组件含例程全部开源”提供了一套全面且强大的C# Socket封装,旨在简化开发过程,提高代码的可读性和可维护性。以下是对这个开源项目的详细解析: 首先,Socket是TCP/IP协议族的基本组成...

    C# 海康威视 封装类 HCNetSDK

    标题"\"C# 海康威视 封装类 HCNetSDK\"\"指出,这是一个使用C#语言对海康威视的HCNetSDK进行封装的类库。这个封装类库通常包含了对原始SDK的API进行包装,以适应C#的编程习惯,同时也可能加入了额外的功能或优化,以...

    c# http请求webapi接口封装类

    c# http请求webapi接口封装类

    C#串口封装类

    一个经过封装的类,封装.NET原有的Serial Port控件,拥有更加灵活的使用。

    C# modbus 上位机 封装类源代码

    * 本协议类最主要的思想是 把所有向下位机发送的指令 先存放在缓冲区中(命名为管道) * 再将管道中的指令逐个发送出去。 * 管道遵守FIFO的模式。管道中所存放指令的个数 在全局变量中定义。 * 管道内主要分为两部分...

    C#操作mysql数据库的封装类

    C#操作mysql数据库的封装类,带注释,代码完整,适合企业级开发

    C#封装的基于API串口类(CommPort.cs)

    CommPort.cs为C#封装的基于API串口类,经过大量项目验证测试,读写速度均非常快,而且几乎不怎么消耗系统资源。

    C#日志封装类,队列方式处理

    本文将详细解析标题为“C#日志封装类,队列方式处理”的技术点,以及如何利用队列实现并发处理。同时,我们会结合"WinForm"这一标签,探讨如何在Windows桌面应用中有效运用这种日志处理方式。 首先,让我们理解“C#...

    C# http Get/POST请求封装类

    本文将详细讨论如何在C#中封装一个用于执行HTTP GET和POST请求的类,以及`HttpHelper.cs`文件中的关键实现。 首先,了解GET和POST的基本概念。GET请求通常用于获取资源,其参数通过URL查询字符串传递,且对数据量有...

    对于C#(HttpClient)方式网络请求的封装

    标题中的“对于C#(HttpClient)方式网络请求的封装”是指使用C#编程语言,特别是通过HttpClient类来处理HTTP网络请求,并将这个过程进行抽象和封装,以便在多个地方重复使用。HttpClient是.NET Framework和.NET ...

    用C#封装的串口通讯类

    本篇将深入探讨如何使用C#封装串口通讯类,并理解其中涉及的关键知识点。 1. **C#基础与.NET框架** C#是一种面向对象的编程语言,由微软公司开发,主要用于构建Windows应用程序和服务。它支持.NET框架,这是一个...

    c#做项目封装的tcp类

    本文将深入探讨如何使用C#进行TCP(传输控制协议)通信,并基于提供的“c#做项目封装的tcp类”这一主题,解析和解释相关知识点。 首先,TCP是一种面向连接的、可靠的传输协议,它保证了数据的顺序和完整性。在C#中...

    C# 同步Socket TCP/UDP 封装类

    本篇将详细介绍"C# 同步Socket TCP/UDP 封装类"的相关知识点。 一、Socket基础 Socket,也被称为套接字,是网络通信中的一个抽象接口,用于在不同进程间进行数据传输。在C#中,Socket类位于System.Net.Sockets命名...

    C#sqlite封装类

    SqliteHelper.cs是封装了C#项目里对sqlite的-增删改查等基本操作的小巧类文件,希望对大家有帮助。

Global site tag (gtag.js) - Google Analytics