Architect's Log

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

IEnumerable.LastOrDefaultメソッド

Enumerable.LastOrDefault(TSource) メソッド (IEnumerable(TSource), Func(TSource, Boolean)) (System.Linq)
条件を満たす、シーケンスの最後の要素を返します。このような要素が見つからない場合は既定値を返します。

SQLでは、SELECT TOP 1 ORDER BY DESCに相当します。

ソースコード

using System;
using System.Linq;

namespace LinqSample {
    class Program {
        static void Main(string[] args) {
            int[] numbers = { 1, 2, 3, 4, 5 };
            // 該当あり
            Console.WriteLine(numbers.LastOrDefault(number => 3 < number));
            // 該当なし
            Console.WriteLine(numbers.LastOrDefault(number => 5 < number));
            Console.ReadKey();
        }
    }
}

実行結果