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)
			);
		}
 
	}
Snippet Details



// 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();

Sorry folks, comments have been deactivated for now due to the large amount of spam.

Please try to post your questions or problems on a related programming board, a suitable mailing list, a programming chat-room,
or use a QA website like stackoverflow because I'm usually too busy to answer any mails related
to my code snippets. Therefore please just mail me if you found a serious bug... Thank you!


Older comments:

JR June 30, 2011 at 10:17
Alek,
3 fails: Namespace exists, (int,int,int) overloading exists
Alek January 14, 2011 at 23:15
3 bugs: System.Drawing.Color dosen't exist. Color.FromArgb takes 4 args.
Atgs need to be bytes not ints.
eblya October 30, 2009 at 17:41
ebis ono v jopu