Click or drag to resize
RandomStringString Method (IRandom, Int32, Char, Char, Single, Boolean, Boolean, Boolean)
Generates a random string using the provided character set, 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:
public static string String(
	this IRandom random,
	int length,
	char[] characters,
	char separator,
	float separatorProbability,
	bool allowSeparatorAtEnd = false,
	bool allowSeparatorAtBegin = false,
	bool forceSeparatorAtBegin = false


Type: Experilous.MakeItRandomIRandom
The pseudo-random engine that will be used to generate bits from which the return value is derived.
Type: SystemInt32
The length of the string to be generated.
Type: SystemChar
The allowable characters to select from when generating the string.
Type: SystemChar
The separator character to be randomly inserted into the string according to the probability specified.
Type: SystemSingle
The probability of any specific index in the string being a separator character. Must be in the range [0, 1].
allowSeparatorAtEnd (Optional)
Type: SystemBoolean
Whether or not the last character to be generated is allowed to be a separator character.
allowSeparatorAtBegin (Optional)
Type: SystemBoolean
Whether or not the first character to be generated is allowed to be a separator character.
forceSeparatorAtBegin (Optional)
Type: SystemBoolean
Whether or not the first character to be generated must be a separator character. Ignored if allowSeparatorAtBegin is false.

Return Value

Type: String
A random string, with each character being a uniformly random selection from the provided character set.

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).

It is 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