Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static IEnumerable<T> ShuffleIterator<T>(this IEnumerable<T> source)
- {
- T[] elements = source.ToArray();
- var rng = RandomProvider.GetThreadRandom();
- for (int i = elements.Length; i > 0; i--)
- {
- int swapIndex = rng.Next(i + 1);
- yield return elements[swapIndex];
- elements[swapIndex] = elements[i];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement