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. WCF用户名密码验证方式

    WCF使用用户名密码验证 服务契约 namespace WCFUserNameConstract { [ServiceContract] public interface IWcfContract { ...

  2. 创建squashfs

    SquashFS 通常的livecd都有一个这个文件,是核心的文件系统 SquashFS 也是一个只读的文件系统,它可以将整个文件系统压缩在一起,存放在某个设备,某个分区或者普通的文件中.如果您将其压 ...

  3. shell内置命令eval的具有什么作用

    答:把变量中的内容当成命令来执行

  4. POJ-1458 LCS(线性动态规划)

    此题经典线性动态规划. 代码如下: #include<iostream> #include<cstdio> #include<cstdlib> #include&l ...

  5. 在centos7上安装部署hadoop2.7.3和spark2.0.0

    一.安装装备 下载安装包: vmware workstations pro 12 三台centos7.1 mini 虚拟机 网络配置NAT网络如下: 二.创建hadoop用户和hadoop用户组 1. ...

  6. LA 5846 霓虹灯广告牌(单色三角形问题)

    https://vjudge.net/problem/UVALive-5846 题意: 圆周上有n个点,两两相连,只能涂红色或蓝色.求单色三角形的个数. 思路: 这个问题在训练指南105页有详细讲解. ...

  7. Java环境搭建指南

    1.1 配置Java环境 1.  下载并安装Jdk1.7或Jdk1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.ht ...

  8. Java Collections Framework 汇总

    1. Java Collections Framework Java集合框架概览 2. Java Collections Framework 之 RandomAccess接口 3. 关于ArrayLi ...

  9. Mysql修改表结构详解

    添加字段: alter table `user_movement_log`Add column GatewayId int not null default 0 AFTER `Regionid` (在 ...

  10. Spring Boot技术栈博客笔记(1)

    要实现的核心功能 用户管理 安全设置 博客管理 评论管理 点赞管理 分类管理 标签管理 首页搜索 核心技术 数据存储 随着spring3发布以来,spring团队减少使用xml配置的使用,采用大量约定 ...