using System;
using System.Text; namespace HuaTong.General.Utility
{
/// <summary>
/// 随机字符/数字
/// </summary>
public static class Randoms
{
static Random rd = new Random();
static DateTime _minDate = new DateTime(, , );
static DateTime _maxDate = DateTime.Now.Date; /// <summary>
/// 随机int
/// </summary>
/// <returns></returns>
public static int RandomNumber()
{
return RandomNumber(, int.MaxValue);
}
/// <summary>
/// 随机int
/// </summary>
/// <returns></returns>
public static int RandomNumber(int min, int max)
{
return rd.Next(min, max);
} /// <summary>
/// 随机string
/// </summary>
/// <returns></returns>
public static string RandomString(int size, bool isNum = false, int isLower = -)
{
StringBuilder builder = new StringBuilder();
char ch = ''; for (int i = ; i < size; i++)
{
if (isNum)
{
ch = Convert.ToChar(Convert.ToInt32( * rd.NextDouble() + ));
}
else
{
if (isLower == -)
{
int index = Convert.ToInt32(size * rd.NextDouble()) % == ? : ;
ch = Convert.ToChar(Convert.ToInt32( * rd.NextDouble() + index));
}
else if (isLower == )
{
ch = Convert.ToChar(Convert.ToInt32( * rd.NextDouble() + ));
}
else if (isLower > )
{
ch = Convert.ToChar(Convert.ToInt32( * rd.NextDouble() + ));
}
}
builder.Append(ch);
} return builder.ToString();
} /// <summary>
/// 随机datetime
/// </summary>
/// <returns></returns>
public static DateTime RandomDate()
{
return RandomDate(_minDate, _maxDate);
}
/// <summary>
/// 随机datetime
/// </summary>
/// <returns></returns>
public static DateTime RandomDate(DateTime minDate, DateTime maxDate)
{
int totalDays = (int)((TimeSpan)maxDate.Subtract(minDate)).TotalDays;
int randomDays = rd.Next(, totalDays);
return minDate.AddDays(randomDays);
} /// <summary>
/// 随机bool
/// </summary>
/// <returns></returns>
public static bool RandomBoolean()
{
return ((DateTime.Now.Second % ) > );
} /// <summary>
/// 随机char
/// </summary>
/// <returns></returns>
public static char RandomChar()
{
return Convert.ToChar(Convert.ToInt32( * rd.NextDouble() + ));
} /// <summary>
/// 随机byte
/// </summary>
/// <returns></returns>
public static byte RandomByte()
{
return RandomByte(, byte.MaxValue);
}
/// <summary>
/// 随机byte
/// </summary>
/// <returns></returns>
public static byte RandomByte(byte min, byte max)
{
return (byte)RandomNumber((int)min, (int)max);
} /// <summary>
/// 随机shrot
/// </summary>
/// <returns></returns>
public static short RandomShort()
{
return RandomShort(, short.MaxValue);
}
/// <summary>
/// 随机short
/// </summary> /// <returns></returns>
public static short RandomShort(short min, short max)
{
return (short)RandomNumber((int)min, (int)max);
}
}
}

c# 获取随机数字/字符/时间的更多相关文章

  1. php 获取随机字符串(原创)

    //获取随机数字字母字符串 function get_rand_str($len=8){ $randArr=array_merge(range(0,9),range('a','z'),range('A ...

  2. LeetCode380 常数时间插入、删除和获取随机元素

    LeetCode380 常数时间插入.删除和获取随机元素 题目要求 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构. insert(val):当元素 val 不存在时,向集合中插 ...

  3. Java实现 LeetCode 380 常数时间插入、删除和获取随机元素

    380. 常数时间插入.删除和获取随机元素 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构. insert(val):当元素 val 不存在时,向集合中插入该项. remove( ...

  4. 381. O(1) 时间插入、删除和获取随机元素 - 允许重复

    381. O(1) 时间插入.删除和获取随机元素 - 允许重复 LeetCode_381 题目详情 题解分析 代码实现 package com.walegarrett.interview; impor ...

  5. PHP学习笔记:利用时间和mt_rand函数获取随机名字

    这个知识会在文件上传等场合用到,还没学面向对象,现在用函数形式呈献给各位,代码都做了备注,有不懂得可以在线提问. <?php /** * Created by PhpStorm. * User: ...

  6. LeetCode 381. Insert Delete GetRandom O(1) - Duplicates allowed O(1) 时间插入、删除和获取随机元素 - 允许重复(C++/Java)

    题目: Design a data structure that supports all following operations in averageO(1) time. Note: Duplic ...

  7. Java实现 LeetCode 381 O(1) 时间插入、删除和获取随机元素 - 允许重复

    381. O(1) 时间插入.删除和获取随机元素 - 允许重复 设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构. 注意: 允许出现重复元素. insert(val):向集合中插 ...

  8. Java中,关于字符串类型、随机验证码、 时间类型

    一.字符串类型:String类型 定义一个字符串 String a="Hello World"; String b= new String ("Hello World&q ...

  9. 023.Python的随机模块和时间模块

    一 random 随机模块 1.1 获取随机0-1之间的小数(左闭右开)  0<= x < 1 import random res = random.random() print(res) ...

随机推荐

  1. java.lang.NoSuchMethodError: net.sf.cglib.core.Signature

    今天二次开发Dubbo-admin的管理平台,开启tomcat直接报错,错误关键字为“ java.lang.NoSuchMethodError: net.sf.cglib.core.Signature ...

  2. xxxx interview问题解读与总结

    1. 要使线程从running到waiting状态,我们需要做些什么? 线程的状态及转换. 关联技术:http://www.cnblogs.com/kisf/p/6952524.html 2. spr ...

  3. servlet类与Spring Controller类的关系

    以前的java web项目,需要在web.xml中定义servlet,对应不同的请求,而在spring项目中,我们用controller定义了各种各样的servlet(当然不包括DispatcherS ...

  4. 20145310 GDB调试汇编堆栈分析

    GDB调试汇编堆栈分析 由于老师说要逐条分析汇编代码,所以我学习卢肖明同学的方法,重新写了一篇博客. 代码: #include<stdio.h> short addend1 = 1; st ...

  5. Kali视频学习1-5

    Kali视频学习1-5 安装 安装Kali虚拟机 设置网络更新,使用了163的源 deb http://mirrors.163.com/debian wheezy main non-free cont ...

  6. ubuntu18.04 64bit如何安装docker

    注:参考自https://docs.docker.com/install/linux/docker-ce/ubuntu/ 1.卸载旧版本docker(如果之前安装了) sudo apt-get rem ...

  7. rocketmq事务消息

    rocketmq事务消息 参考: https://blog.csdn.net/u011686226/article/details/78106215 https://yq.aliyun.com/art ...

  8. LeetCode——Find Largest Value in Each Tree Row

    Question You need to find the largest value in each row of a binary tree. Example: Input: 1 / \ 3 2 ...

  9. 8条规则图解JavaScript原型链继承原理

    原形链是JS难点之一,而且很多书都喜欢用一大堆的文字解释给你听什么什么是原型链,就算有图配上讲解,有的图也是点到为止,很难让人不产生疑惑. 我们先来看一段程序,友情提示sublimeText看更爽: ...

  10. 06_zookeeper_原生API使用2

    1. 设置znode节点数据(同步) import org.apache.zookeeper.*; import org.apache.zookeeper.data.Stat; import java ...