コガネブログ

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

【C#】全要素が指定した条件を満たさない場合にtrueを返す拡張メソッド

ソースコード

using System;
using System.Collections.Generic;

public static class IEnumerableExtensions
{
    public static bool None<TSource>(
        this IEnumerable<TSource> source,
        Func<TSource, bool> predicate
    )
    {
        foreach ( var n in source )
        {
            if ( predicate( n ) )
            {
                return false;
            }
        }
        return true;
    }
}

使い方

var list = new []{ 1, 2, 3, 4, 5 };
Debug.Log( list.None( c => c == 10 ) ); // True