Method Choose
- Namespace
- Gamelogic.Extensions.Algorithms
- Assembly
- Gamelogic.Extensions.dll
Choose<TSource>(IList<TSource>, IGenerator<int>)
Makes a generator that chooses elements from a list using an index generator.
public static IGenerator<TSource> Choose<TSource>(IList<TSource> source, IGenerator<int> indexGenerator)Parameters
- sourceIList<TSource>
- The source list. 
- indexGeneratorIGenerator<int>
- The index generator. 
Returns
- IGenerator<TSource>
- A new generator. 
Type Parameters
- TSource
- The type of elements to generate. 
Examples
The following will generate "cat" "dog" "cat" "dog":
var generator = Generator.Choose(new[] {"cat", "dog"}, Generator.Count(2));Exceptions
- ArgumentNullException
- list or indexGenerator 
- ArgumentException
- List must have at least one element;list 
Choose<TSource>(IList<IGenerator<TSource>>, IGenerator<int>)
Makes a generator that uses an index generator to choose a generator to generate an element from.
public static IGenerator<TSource> Choose<TSource>(IList<IGenerator<TSource>> generators, IGenerator<int> indexGenerator)Parameters
- generatorsIList<IGenerator<TSource>>
- The source generators. 
- indexGeneratorIGenerator<int>
- The index generator. 
Returns
- IGenerator<TSource>
- A new generator. 
Type Parameters
- TSource
- The type of element to generate. 
Examples
The following generator will interleave the given generators:
//generators is a IEnumerable of generators
var generator = Generator.Choose(generators, Generator.Count(generators.Count());Exceptions
- ArgumentNullException
- generators or indexGenerator 
- ArgumentException
- Cannot contain null elements;generators