随机工具-RandomUtil
# 简介
在C#中,可以使用Random类来生成随机数。Random类提供了多个不同的方法来生成随机数,其中最常用的是Next()方法。Next()方法可以生成一个指定范围内的随机整数,它有多种不同的重载形式,可以接受最小值和最大值、只接受最大值等参数。
除了Next()方法,Random类还提供了以下几个常用方法:
NextDouble()
: 生成一个0.0到1.0之间的随机双精度浮点数。NextBytes(byte[] buffer)
: 生成指定长度的随机字节数组。NextBytes(Span<byte> buffer)
: 生成指定长度的随机字节数组。NextBytes(Span<byte> buffer)
: 生成指定长度的随机字节数组。Next(minValue, maxValue)
: 生成一个指定范围内的随机整数。Next(minValue, maxValue, count)
: 生成指定数量的指定范围内的随机整数。Next(minValue, maxValue, count, exclusionList)
: 生成指定数量的指定范围内的随机整数,且这些整数不在排除列表中。
需要注意的是,Random类生成的随机数并不是真正的随机数,而是伪随机数,其生成的序列是确定的,因此在需要高度随机性的场合,应该使用其他更加严格的随机数生成器。
# EasyTool.RandomUtil 类
静态工具类 RandomUtil,提供了多种类型的随机生成方法。它可以生成随机整数、随机数字字符串、随机字母数字字符串、随机字母字符串、随机布尔值、随机数组、随机字符串数组、随机日期和随机枚举值。这些方法可以用于各种需要随机数据的应用场景,比如测试数据生成、密码生成、数据脱敏等。
RandomUtil
方法列表:
RandomInt
: 生成指定范围内的随机整数。RandomDigitString
: 生成指定位数的随机数字字符串。RandomAlphanumericString
: 生成指定位数的随机字母数字字符串。RandomLetterString
: 生成指定长度的随机字母字符串。RandomBool
: 生成随机的布尔值。RandomIntArray
: 生成指定长度的随机整数数组。RandomDoubleArray
: 生成指定长度的随机双精度浮点数数组。RandomStringArray
: 生成指定长度的随机字符串数组。RandomDate
: 生成随机日期。RandomEnumValue
: 生成随机枚举值。GetRandomInt
: 获取一个指定范围内的随机整数GetRandomDouble
: 获取一个指定范围内的随机双精度浮点数GetRandomDateTime
: 获取一个指定范围内的随机日期时间GetRandomElement
: 从给定的集合中随机选取一个元素RandomNumberString
: 生成指定长度的随机数字字符串RandomString
: 生成指定长度的随机字母数字字符串
# RandomInt-生成指定范围内的随机整数
/// <summary>
/// 生成指定范围内的随机整数
/// </summary>
/// <param name="min">随机整数的最小值</param>
/// <param name="max">随机整数的最大值</param>
/// <returns>生成的随机整数</returns>
public static int RandomInt(int min, int max)
# RandomDigitString-生成指定位数的随机数字字符串
/// <summary>
/// 生成指定位数的随机数字字符串
/// </summary>
/// <param name="length">生成的随机数字字符串的长度</param>
/// <returns>生成的随机数字字符串</returns>
public static string RandomDigitString(int length)
# RandomAlphanumericString-生成指定位数的随机字母数字字符串
/// <summary>
/// 生成指定位数的随机字母数字字符串
/// </summary>
/// <param name="length">生成的随机字母数字字符串的长度</param>
/// <returns>生成的随机字母数字字符串</returns>
public static string RandomAlphanumericString(int length)
# RandomLetterString-生成指定长度的随机字母字符串
/// <summary>
/// 生成指定长度的随机字母字符串
/// </summary>
/// <param name="length">生成的随机字母字符串的长度</param>
/// <returns>生成的随机字母字符串</returns>
public static string RandomLetterString(int length)
# RandomBool-生成随机的布尔值
/// <summary>
/// 生成随机的布尔值
/// </summary>
/// <returns>生成的随机布尔值</returns>
public static bool RandomBool()
# RandomIntArray-生成指定长度的随机数组
/// <summary>
/// 生成指定长度的随机数组
/// </summary>
/// <param name="length">生成的随机数组的长度</param>
/// <returns>生成的随机数组</returns>
public static int[] RandomIntArray(int length)
# RandomDoubleArray-生成指定长度的随机双精度浮点数数组
/// <summary>
/// 生成指定长度的随机双精度浮点数数组
/// </summary>
/// <param name="length">生成的随机数组的长度</param>
/// <returns>生成的随机双精度浮点数数组</returns>
public static double[] RandomDoubleArray(int length)
# RandomStringArray-生成指定长度的随机字符串数组
/// <summary>
/// 生成指定长度的随机字符串数组
/// </summary>
/// <param name="length">生成的随机数组的长度</param>
/// <param name="strLength">每个随机字符串的长度</param>
/// <returns>生成的随机字符串数组</returns>
public static string[] RandomStringArray(int length, int strLength)
# RandomDate-生成随机日期
/// <summary>
/// 生成随机日期
/// </summary>
/// <param name="startDate">随机日期的最早时间</param>
/// <param name="endDate">随机日期的最晚时间</param>
/// <returns>生成的随机日期</returns>
public static DateTime RandomDate(DateTime startDate, DateTime endDate)
# RandomEnumValue-生成随机枚举值
/// <summary>
/// 生成随机枚举值
/// </summary>
/// <typeparam name="T">枚举类型</typeparam>
/// <returns>生成的随机枚举值</returns>
public static T RandomEnumValue<T>()
# GetRandomInt-获取一个指定范围内的随机整数
/// <summary>
/// 获取一个指定范围内的随机整数
/// </summary>
/// <param name="minValue">最小值</param>
/// <param name="maxValue">最大值</param>
/// <returns>随机整数</returns>
public static int GetRandomInt(int minValue, int maxValue)
# GetRandomDouble-获取一个指定范围内的随机双精度浮点数
/// <summary>
/// 获取一个指定范围内的随机双精度浮点数
/// </summary>
/// <param name="minValue">最小值</param>
/// <param name="maxValue">最大值</param>
/// <returns>随机双精度浮点数</returns>
public static double GetRandomDouble(double minValue, double maxValue)
# GetRandomDateTime-获取一个指定范围内的随机日期时间
/// <summary>
/// 获取一个指定范围内的随机日期时间
/// </summary>
/// <param name="minValue">最小值</param>
/// <param name="maxValue">最大值</param>
/// <returns>随机日期时间</returns>
public static DateTime GetRandomDateTime(DateTime minValue, DateTime maxValue)
# GetRandomElement-从给定的集合中随机选取一个元素
/// <summary>
/// 从给定的集合中随机选取一个元素
/// </summary>
/// <typeparam name="T">元素类型</typeparam>
/// <param name="source">集合</param>
/// <returns>随机选取的元素</returns>
public static T GetRandomElement<T>(IEnumerable<T> source)
# RandomNumberString-生成指定长度的随机数字字符串
/// <summary>
/// 生成指定长度的随机数字字符串
/// </summary>
/// <param name="length">字符串长度</param>
/// <returns>随机数字字符串</returns>
public static string RandomNumberString(int length)
# RandomString-生成指定长度的随机字母数字字符串
/// <summary>
/// 生成指定长度的随机字母数字字符串
/// </summary>
/// <param name="length">字符串长度</param>
/// <returns>随机字母数字字符串</returns>
public static string RandomString(int length)
# 示例代码
using System;
class Program
{
static void Main(string[] args)
{
Random random = new Random();
int randomNumber = random.Next(1, 11);
Console.WriteLine("Generated random number: " + randomNumber);
double randomDouble = random.NextDouble();
Console.WriteLine("Generated random double: " + randomDouble);
byte[] randomBytes = new byte[10];
random.NextBytes(randomBytes);
Console.WriteLine("Generated random bytes: " + BitConverter.ToString(randomBytes));
}
}
# 输出结果
Generated random number: 7
Generated random double: 0.8961873920581167
Generated random bytes: E9-51-24-89-56-30-28-C8-8E-39
上次更新: 2023/04/26, 22:10:06