C# 随机数类
- using System;
- namespace DotNet.Utilities
- {
- /// <summary>
- /// BaseRandom
- /// 产生随机数
- ///
- /// 随机数管理,最大值、最小值可以自己进行设定。
- /// </summary>
- public class BaseRandom
- {
- public static int Minimum = ;
- public static int Maximal = ;
- public static int RandomLength = ;
- private static string RandomString = "0123456789ABCDEFGHIJKMLNOPQRSTUVWXYZ";
- private static Random Random = new Random(DateTime.Now.Second);
- #region public static string GetRandomString() 产生随机字符
- /// <summary>
- /// 产生随机字符
- /// </summary>
- /// <returns>字符串</returns>
- public static string GetRandomString()
- {
- string returnValue = string.Empty;
- for (int i = ; i < RandomLength; i++)
- {
- int r = Random.Next(, RandomString.Length - );
- returnValue += RandomString[r];
- }
- return returnValue;
- }
- #endregion
- #region public static int GetRandom()
- /// <summary>
- /// 产生随机数
- /// </summary>
- /// <returns>随机数</returns>
- public static int GetRandom()
- {
- return Random.Next(Minimum, Maximal);
- }
- #endregion
- #region public static int GetRandom(int minimum, int maximal)
- /// <summary>
- /// 产生随机数
- /// </summary>
- /// <param name="minimum">最小值</param>
- /// <param name="maximal">最大值</param>
- /// <returns>随机数</returns>
- public static int GetRandom(int minimum, int maximal)
- {
- return Random.Next(minimum, maximal);
- }
- #endregion
- }
- }
BaseRandom
- using System;
- namespace DotNet.Utilities
- {
- /// <summary>
- /// 使用Random类生成伪随机数
- /// </summary>
- public class RandomHelper
- {
- //随机数对象
- private Random _random;
- #region 构造函数
- /// <summary>
- /// 构造函数
- /// </summary>
- public RandomHelper()
- {
- //为随机数对象赋值
- this._random = new Random();
- }
- #endregion
- #region 生成一个指定范围的随机整数
- /// <summary>
- /// 生成一个指定范围的随机整数,该随机数范围包括最小值,但不包括最大值
- /// </summary>
- /// <param name="minNum">最小值</param>
- /// <param name="maxNum">最大值</param>
- public int GetRandomInt(int minNum, int maxNum)
- {
- return this._random.Next(minNum, maxNum);
- }
- #endregion
- #region 生成一个0.0到1.0的随机小数
- /// <summary>
- /// 生成一个0.0到1.0的随机小数
- /// </summary>
- public double GetRandomDouble()
- {
- return this._random.NextDouble();
- }
- #endregion
- #region 对一个数组进行随机排序
- /// <summary>
- /// 对一个数组进行随机排序
- /// </summary>
- /// <typeparam name="T">数组的类型</typeparam>
- /// <param name="arr">需要随机排序的数组</param>
- public void GetRandomArray<T>(T[] arr)
- {
- //对数组进行随机排序的算法:随机选择两个位置,将两个位置上的值交换
- //交换的次数,这里使用数组的长度作为交换次数
- int count = arr.Length;
- //开始交换
- for (int i = ; i < count; i++)
- {
- //生成两个随机数位置
- int randomNum1 = GetRandomInt(, arr.Length);
- int randomNum2 = GetRandomInt(, arr.Length);
- //定义临时变量
- T temp;
- //交换两个随机数位置的值
- temp = arr[randomNum1];
- arr[randomNum1] = arr[randomNum2];
- arr[randomNum2] = temp;
- }
- }
- #endregion
- }
- }
RandomHelper
- using System;
- namespace DotNet.Utilities
- {
- public class RandomOperate
- {
- // 一:随机生成不重复数字字符串
- private int rep = ;
- public string GenerateCheckCodeNum(int codeCount)
- {
- string str = string.Empty;
- long num2 = DateTime.Now.Ticks + this.rep;
- this.rep++;
- Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep)));
- for (int i = ; i < codeCount; i++)
- {
- int num = random.Next();
- str = str + ((char)(0x30 + ((ushort)(num % )))).ToString();
- }
- return str;
- }
- //方法二:随机生成字符串(数字和字母混和)
- public string GenerateCheckCode(int codeCount)
- {
- string str = string.Empty;
- long num2 = DateTime.Now.Ticks + this.rep;
- this.rep++;
- Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep)));
- for (int i = ; i < codeCount; i++)
- {
- char ch;
- int num = random.Next();
- if ((num % ) == )
- {
- ch = (char)(0x30 + ((ushort)(num % )));
- }
- else
- {
- ch = (char)(0x41 + ((ushort)(num % 0x1a)));
- }
- str = str + ch.ToString();
- }
- return str;
- }
- #region
- /// <summary>
- /// 从字符串里随机得到,规定个数的字符串.
- /// </summary>
- /// <param name="allChar"></param>
- /// <param name="CodeCount"></param>
- /// <returns></returns>
- private string GetRandomCode(string allChar, int CodeCount)
- {
- //string allChar = "1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,i,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
- string[] allCharArray = allChar.Split(',');
- string RandomCode = "";
- int temp = -;
- Random rand = new Random();
- for (int i = ; i < CodeCount; i++)
- {
- if (temp != -)
- {
- rand = new Random(temp * i * ((int)DateTime.Now.Ticks));
- }
- int t = rand.Next(allCharArray.Length - );
- while (temp == t)
- {
- t = rand.Next(allCharArray.Length - );
- }
- temp = t;
- RandomCode += allCharArray[t];
- }
- return RandomCode;
- }
- #endregion
- }
- }
RandomOperate
C# 随机数类的更多相关文章
- [19/03/18-星期一] 常用类_Math(数学)类&Rondom(随机数)类
一.Math(数学)类(单独一个Java.Math 包中) java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型.如果需要更加强大的数学运算能力, ...
- 常用类--Date日期类,SimpleDateFormat日期格式类,Calendar日历类,Math数学工具类,Random随机数类
Date日期类 Date表示特定的时间,精确到毫秒; 构造方法: public Data() public Date(long date) 常用方法: public long getTime() pu ...
- 随机数类 Random
import java.util.Random; /* 随机数类 Random 需求: 编写一个函数随机产生四位的验证码. */ public class Demo5 { public static ...
- 随机数类Random
我们来学习下,用来产生随机数的类Random,它也属于引用数据类型. 这个Random类,它可以产生多种数据类型的随机数,在这里我们主要介绍生成整数与小数的方式. l 方法简介 public int ...
- Java—Math类和随机数类
一.Math类(主要封装算数运算的静态方法) 定义: Math是没有构造方法的. java语言中提供了一个执行数学基本运算的Math类,Math类包括常用的数学运算和一些数学函数.还提供了一些常用的常 ...
- Java基础教程——Random随机数类
Random类 java.util.Random类用于产生随机数.需要导入包: import java.util.Random; 方法 解释 Random() 创建一个Random类对象 Random ...
- 2019.12.09 Random 随机数类
//导包import java.util.Random;class Demo02 { public static void main(String[] args) { //创建Random对象 Ran ...
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
c#封装DBHelper类 public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...
- 【转载】C#使用Random类来生成指定范围内的随机数
C#的程序应用的开发中,可以使用Random随机数类的对象来生成相应的随机数,通过Random随机数对象生成随机数的时候,支持设置随机数的最小值和最大值,例如可以指定生成1到1000范围内的随机数.R ...
随机推荐
- dubbo事件通知机制(1)
此文已由作者岳猛授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. dubbo事件通知机制:http://dubbo.io/books/dubbo-user-book/demos ...
- yield 学习
什么是生成器 生成器是可以迭代的,但是你只可以读取它一次 ,因为它并不把所有的值放在内存中,它是实时地生成数据. yield 理解 通常的for...in...循环中,in后面是一个数组,这个数组就是 ...
- spring指导的index.html在spring文件夹中的位置
- luoguP5074 Eat the Trees
https://www.luogu.org/problemnew/show/P5074 插头 $ dp $ 入门题 如果你还不会插头 $ dp $ 请右转 洛谷插头dp题解 虽然是入门题但还是逃不过分 ...
- html中设置data-*属性值 并在js中进行获取属性值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- sql—常用函数
COUNT()函数 COUNT()函数返回匹配指定条件的行数 SQL COUNT(column_name) 语法 COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入): ...
- combining-filters
The previous two examples showed a single filter in use. In practice, you will probably need to filt ...
- linux中rc.d目录下的文件
参考 http://blog.sina.com.cn/s/blog_414d78870102vqj5.html http://www.360doc.com/content/12/0820/17/933 ...
- AWS 推出长期支持的 OpenJDK 免费分发版本 —— Amazon Corretto
简评:听说 Oracle JDK 要收费了,Oracle 要限制 Java 的商业或生产用途,针对这个问题,AWS 将会推出 Amazon Corretto. Java 是 AWS 用户使用的最流行的 ...
- Win10将用户名修改为英文
前言 最近重装了一次Win10系统,手贱地在引导里设置了中文的用户名.使用微软账户进行登录后,Win10以这个中文名建立了用户的文件夹,使得少数软件安装或使用过程中,保存路径不支持中文路径,从而报错, ...