| 12345678910111213141516171819202122232425262728293031 | 
							- 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)
 
-         {
 
-             int n = list.Count;
 
-             while (n > 1)
 
-             {
 
-                 n--;
 
-                 int k = _rng.Next(n + 1);
 
-                 T value = list[k];
 
-                 list[k] = list[n];
 
-                 list[n] = value;
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |