Exemple #1
0
 /// <summary>
 /// リストの要素をランダムに並び替える
 /// </summary>
 public static void Shuffle <T>(this Original.IList <T> list, Random random = null)
 {
     for (int indexA = 0; indexA < list.Count; ++indexA)
     {
         int indexB = list.RandomIndex(random);
         list.Swap(indexA, indexB);
     }
 }
Exemple #2
0
 /// <summary>
 /// ランダムなindexを返します。
 /// </summary>
 public static int RandomIndex <T>(this Original.IList <T> list)
 {
     return(list.RandomIndex(new Random()));
 }
Exemple #3
0
        /// <summary>
        /// ランダムな位置の項目を削除し、削除された項目を返します。
        /// </summary>
        public static T PopRandom <T>(this Original.IList <T> list, Random random = null)
        {
            var index = list.RandomIndex(random);

            return(list.Pop(index));
        }