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:出现错误提示(java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date)

    Java:出现错误提示(java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date) 原因分析: ...

  2. Git与TortoiseGit使用方法

               下载这两个工具 Git地址:https://git-for-windows.github.io/ TortoiseGit地址:http://tortoisegit.org/ 点击 ...

  3. Java-性能调优工具-jstat

    jps 查看当前java进程 [ ~]# jps 9939 Resin 9874 WatchdogManager 18293 Jps jstat -gc -t pid 1s [ ~]# jstat - ...

  4. 20145313Java第五次实验

    实验内容 网络编程TCP代码的结对完成,一人服务器,一人客户端,进行数据传输. 结伴对象:20145313卢鑫 实验步骤 本次实验中,需要两台电脑互联.一台电脑开启无线网,充当客户端,另一台连入局域网 ...

  5. [JavaScript]YYYY-MM-DD格式字符串计算年龄

    function getAge(birth){ birth = birth.replace(/-/g,"/"); //把格式中的"-"替换为"/&qu ...

  6. 如果css足够强大了,你还会用编程的方式实现去实现css已有的功能吗?

    现在css3 都出来的,但是其实我由于一些原因,有些css2中都能支持的样式,我都没有使用过.我感觉我真的有必要静下心来,去看看那些东西,看看哪些以前都被忽视掉的. 今天我主要来讲三个对于我们编程经常 ...

  7. Hive架构

    Hive组织数据包含四种层次:DataBase --> Table --> Partition --> Bucket,对应在HDFS上都是文件夹形式. 数据库和数据仓库的区别: 1) ...

  8. Jenkins 集成Ansible教程

    前提条件: 1. 部署Jenkins Server 2. 部署 Ansible Server 一.在Jenkins安装SSH插件 系统管理 -> 插件管理 二.在Jenkins 凭证中添加Ans ...

  9. mongodb 索引的创建

    mongodb 创建常用的创建索引的有 signle Field Indexes Compound multikey,创建索引就是按照索引字段把documnet 进行排序,索引只存储了document ...

  10. 在Linux Centos 7.2 上安装指定版本Docker。

    相关资料链接: https://docs.docker.com/install/linux/docker-ce/centos/#install-docker-ce 先清空下“历史” yum remov ...