Click or drag to resize
RandomStringAlphaNumericString Method (IRandom, Int32, Char, Single)
Generates a random string using only decimal digits and letters from the English alphabet, both upper and lower case, plus a separator character which can occur randomly with a specified probability.

Namespace: Experilous.MakeItRandom
Assembly: Assembly-CSharp-firstpass (in Assembly-CSharp-firstpass.dll) Version: 0.0.0.0
Syntax
C#
public static string AlphaNumericString(
	this IRandom random,
	int length,
	char separator,
	float separatorProbability
)

Parameters

random
Type: Experilous.MakeItRandomIRandom
The pseudo-random engine that will be used to generate bits from which the return value is derived.
length
Type: SystemInt32
The length of the string to be generated.
separator
Type: SystemChar
The separator character to be randomly inserted into the string according to the probability specified.
separatorProbability
Type: SystemSingle
The probability of any specific index in the string being a separator character. Must be in the range [0, 1].

Return Value

Type: String
A random string, with each character being a uniformly random selection from the set of decimal digits and English letters, both upper and lower case.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IRandom. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
Remarks

The generated string is guaranteed to not start with the separator character, and it is further guaranteed that two separator characters will never be generated one immediately after the other, regardless of the separator probability.

A separator probability of 0 will guarantee that there are no separators at all, while a probability of 1 will guarantee that every second character is a separtor character. Probabilities less than 1 but greater that 0.5 will be biased toward the same every-other character outcome, but will have a chance of generating longer sequences of non-separator characters, rather than being strictly limited to one non-separator character at a time.

See Also