Random helper class
A simple class that provides often needed methods like creating random strings, numbers, colors and booleans. Ready to copy and paste :)
/// <summary>
/// Helper class for generating random values
/// </summary>
public static class RandomHelper
{
private static Random randomSeed = new Random();
/// <summary>
/// Generates a random string with the given length
/// </summary>
/// <param name="size">Size of the string</param>
/// <param name="lowerCase">If true, generate lowercase string</param>
/// <returns>Random string</returns>
public static string RandomString(int size, bool lowerCase)
{
// StringBuilder is faster than using strings (+=)
StringBuilder RandStr = new StringBuilder(size);
// Ascii start position (65 = A / 97 = a)
int Start = (lowerCase) ? 97 : 65;
// Add random chars
for (int i = 0; i < size; i++)
RandStr.Append((char)(26 * randomSeed.NextDouble() + Start));
return RandStr.ToString();
}
/// <summary>
/// Returns a random number.
/// </summary>
/// <param name="min">Minimal result</param>
/// <param name="max">Maximal result</param>
/// <returns>Random number</returns>
public static int RandomNumber(int Minimal, int Maximal)
{
return randomSeed.Next(Minimal, Maximal);
}
/// <summary>
/// Returns a random boolean value
/// </summary>
/// <returns>Random boolean value</returns>
public static bool RandomBool()
{
return (randomSeed.NextDouble() > 0.5);
}
/// <summary>
/// Returns a random color
/// </summary>
/// <returns></returns>
public static System.Drawing.Color RandomColor()
{
return System.Drawing.Color.FromArgb(
randomSeed.Next(256),
randomSeed.Next(256),
randomSeed.Next(256)
);
}
}
//Example:
// Generate a random word:
string RandomWord = RandomHelper.RandomString(10, true);
// Generate a random number:
int Number = RandomHelper.RandomNumber(0, 10);
// Generate a random boolean value:
bool Active = RandomHelper.RandomBool();
// Generate a random color:
Color Background = RandomHelper.RandomColor();
Url: http://www.jonasjohn.de/snippets/csharp/random-helper-class.htm
Language: C# | User: ShareMySnippets | Created: Oct 16, 2013