Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

IEnumerable<T>に拡張メソッドとしてNotAnyを実装する

IEnumerable<T>に拡張メソッドとしてNotAnyを実装してみました。


毎回".Any() == false"と書くのが面倒なので。

using System;
using System.Collections.Generic;
using System.Linq;

namespace Extensions {
    class Program {
        static void Main(string[] args) {
            List<string> list = new List<string>(1);
            Console.WriteLine(list.NotAny());    // true

            list.Add("hoge");
            Console.WriteLine(list.NotAny());    // false
            Console.ReadKey();
        }
    }

    public static class IEnumerableExtensions {
        /// <summary>
        /// シーケンスに要素が含まれていない場合はtrue。それ以外の場合は false。
        /// </summary>
        public static bool NotAny<T>(this IEnumerable<T> self) {
            return !self.Any();
        }
    }
}