はじめに LINQ to Objects(以後LINQ)は、Listや配列など、コレクションに対するフィルターやグルーピング・加工処理を宣言的に記述する仕組みです。 従来の手続き的な手法に比較して、宣言的に記述することで生産性と品質の双方を向上できます。 実際に「intの配列から偶数を取り出し、小さい順に並べ替えられたListへ変換する」コードで比較してみましょう。 下記が従来の手続き的に記述されたコードです。 int[] numbers = { 5, 10, 8, 3, 6, 12 }; List<int> evenNumbers = new(); foreach (var number in numbers) { if (number % 2 == 0) { evenNumberList.Add(number); } } evenNumbers.Sort((x, y) => x - y