aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common/Extensions/ShuffleExtensions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Common/Extensions/ShuffleExtensions.cs')
-rw-r--r--MediaBrowser.Common/Extensions/ShuffleExtensions.cs41
1 files changed, 0 insertions, 41 deletions
diff --git a/MediaBrowser.Common/Extensions/ShuffleExtensions.cs b/MediaBrowser.Common/Extensions/ShuffleExtensions.cs
deleted file mode 100644
index 2604abf85..000000000
--- a/MediaBrowser.Common/Extensions/ShuffleExtensions.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace MediaBrowser.Common.Extensions
-{
- /// <summary>
- /// Provides <c>Shuffle</c> extensions methods for <see cref="IList{T}" />.
- /// </summary>
- public static class ShuffleExtensions
- {
- private static readonly Random _rng = new Random();
-
- /// <summary>
- /// Shuffles the items in a list.
- /// </summary>
- /// <param name="list">The list that should get shuffled.</param>
- /// <typeparam name="T">The type.</typeparam>
- public static void Shuffle<T>(this IList<T> list)
- {
- list.Shuffle(_rng);
- }
-
- /// <summary>
- /// Shuffles the items in a list.
- /// </summary>
- /// <param name="list">The list that should get shuffled.</param>
- /// <param name="rng">The random number generator to use.</param>
- /// <typeparam name="T">The type.</typeparam>
- public static void Shuffle<T>(this IList<T> list, Random rng)
- {
- int n = list.Count;
- while (n > 1)
- {
- int k = rng.Next(n--);
- T value = list[k];
- list[k] = list[n];
- list[n] = value;
- }
- }
- }
-}