小ネタ

ソースレビューをしていてAnyで充分なところでCountを使っているケースを見かけたので。STLのempty/sizeの使い分けと同様ですね。

using System;
using System.Diagnostics;
using System.Linq;

class Program
{
    static void Main()
    {
        var q = Enumerable.Range(0, 1000);

        // 要素数をチェック
        var sw = Stopwatch.StartNew();
        for (var i = 0; i < 100000; ++i)
        {
            bool exist = q.Count() > 0;
        }
        sw.Stop();

        Console.WriteLine(sw.ElapsedMilliseconds);

        // 存在をチェック
        sw = Stopwatch.StartNew();
        for (var i = 0; i < 100000; ++i)
        {
            bool exist = q.Any();
        }
        sw.Stop();

        Console.WriteLine(sw.ElapsedMilliseconds);
    }
}
    
/* 結果
 876
 7
 */

久々の小ネタでした。