コガネブログ

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

【C#】シーケンスの先頭に値を追加して返す拡張メソッド

using System.Collections.Generic;

public static class IEnumerableExtensions
{
    public static IEnumerable<TSource> StartWith<TSource>(
        this IEnumerable<TSource> source, 
        params TSource[] value
    )
    {
        foreach ( var n in value )
        {
            yield return n;
        }
        foreach ( var n in source )
        {
            yield return n;
        }
    }
}