コガネブログ

平日更新を目標にUnityやC#などのゲーム開発アレコレを書いていきます

【C#】リストの先頭にあるオブジェクトを削除して返す拡張メソッド

using System;
using System.Collections.Generic;

/// <summary>
/// IList 型の拡張メソッドを管理するクラス
/// </summary>
public static class IListExtensions
{
    /// <summary>
    /// 先頭にあるオブジェクトを削除し、返します
    /// </summary>
    public static T Dequeue<T>(this IList<T> self)
    {
        var result = self[0];
        self.RemoveAt(0);
        return result;
    }
}
var list = new List<int>{ 1, 2, 3 };
var result = list.Dequeue(); // 1