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. 20145327实验三 敏捷开发与XP实践

    敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 程序缩进: 结对git的应用 PSP 步骤 耗时 百分比 需求分析 15m 12.5% 设计 30m 25% 代码实现 45m 37.5 ...

  2. 20135302魏静静Linux内核分析第二周学习总结

    操作系统是如何工作的 1. 小结:计算机是怎样工作的 三个法宝 存储程序计算机.函数调用堆栈.中断机制 两把宝剑 中断上下文.进程上下文的切换 2. 堆栈 堆栈是C语言程序运行时必须的一个记录调用路径 ...

  3. 用hexo在github上搭建自己的静态博客

    在自己的小站上发过一次,这边就不再多发一次了,直接给链接好了: http://nerohwang.github.io/2014/02/11/simple-test/

  4. 总结的一些json格式和对象/String/Map/List等的互转工具类

    总结的一些json格式和对象/String/Map/List等的互转工具类,有需要的可以看看,需要引入jackson-core-asl-1.7.1.jar.jackson-jaxrs-1.7.1.ja ...

  5. Can't connect to any repository: xxxxxx Error writing request body to server

    今天在git提交代码时一直报如下错误: Can't connect to any repository: https://gitee.com/xxxxxx(https://gitee.com/xxxx ...

  6. 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 ...

  7. 初入spring boot(八 )Spring Data REST

    1. 什么是Spring Data REST Spring Data JPA是基于Spring Data 的Repository之上,可以将Repository自动输出为REST资源.目前Spring ...

  8. SecureCRT在mac下无法输入中断命令

    mac下输入Ctrl +C无法中断程序,这个问题困扰了我好久,大概有很长一段时间我都是使用kill 进程的方式来代替中断: ps aux | grep python kill -9 pid 今天终于发 ...

  9. 深入理解Java枚举类型(enum)

    https://blog.csdn.net/javazejian/article/details/71333103 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(en ...

  10. ThinkPHP开发笔记-视图

    1.如果要在模板中输出变量,必须在在控制器中把变量传递给模板,系统提供了assign方法对模板变量赋值,无论何种变量类型都统一使用assign赋值,而且assign方法必须在display和show方 ...