Ejemplo n.º 1
0
 /// <summary>
 /// リストの全要素を設定します。
 /// </summary>
 public static void SetAll <T>(this Original.IList <T> list, T value)
 {
     for (int i = 0; i < list.Count; ++i)
     {
         list[i] = value;
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// リストの指定要素を交換します
        /// </summary>
        public static void Swap <T>(this Original.IList <T> list, int indexA, int indexB)
        {
            T tmp = list[indexA];

            list[indexA] = list[indexB];
            list[indexB] = tmp;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 指定したインデックス位置の項目を削除し、削除された項目を返します。
        /// </summary>
        public static T Pop <T>(this Original.IList <T> list, int index)
        {
            var item = list[index];

            list.RemoveAt(index);
            return(item);
        }
Ejemplo n.º 4
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);
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 指定した要素が最後の要素と同じか判定します。
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="list"></param>
 public static bool EqualsLast <T>(this Original.IList <T> list, T item)
 {
     return(list.GetLast().Equals(item));
 }
Ejemplo n.º 6
0
 /// <summary>
 /// 最後の要素を削除
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="list"></param>
 public static void RemoveLast <T>(this Original.IList <T> list)
 {
     list.RemoveAt(list.Count - 1);
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 最後の要素を取得
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="list"></param>
 public static T GetLast <T>(this Original.IList <T> list)
 {
     return(list[list.Count - 1]);
 }
Ejemplo n.º 8
0
 /// <summary>
 /// ランダムなindexを返します。
 /// </summary>
 public static int RandomIndex <T>(this Original.IList <T> list)
 {
     return(list.RandomIndex(new Random()));
 }
Ejemplo n.º 9
0
 /// <summary>
 /// ランダムなindexを返します。
 /// </summary>
 public static int RandomIndex <T>(this Original.IList <T> list, Random random)
 {
     return(random.Next(list.Count));
 }
Ejemplo n.º 10
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));
        }