リスト要素の最小値、最大値を取得するには.Min()、.Max() を使用します。
サンプル
例1)List<int>の最小値、最大値を求める
using System;
using System.Collections.Generic;
using System.Linq;
//int型のList
List<int> list = new List<int>(){5, 9, 3, 2, 8};
//要素の最小値を求める
int resultMin = list.Min();
//要素の最大値を求める
int resultMax = list.Max();
結果
resultMin → 2
resultMax → 9
例2)List<Pref>の要素のPopulatioinの最小値、最大値を求める
using System;
using System.Collections.Generic;
using System.Linq;
//Prefクラス
class Pref{
public int No {get; set;}
public string Name {get; set;}
public int Population {get; set;}
}
//PrefクラスのList
var list = new List();
list.Add(new Pref{No=1, Name="北海道", Population=5381733});
list.Add(new Pref{No=2, Name="青森県", Population=1308265});
list.Add(new Pref{No=3, Name="岩手県", Population=1279594});
list.Add(new Pref{No=4, Name="宮城県", Population=2333899});
list.Add(new Pref{No=5, Name="秋田県", Population=1023119});
//Pref.Populationの最小値を求める
int resultMin = list.Select(x => x.Population).Min();
//Pref.Populationの最大値を求める
int resultMax = list.Select(x => x.Population).Max();
結果
resultMin → 1023119
resultMax → 5381733
備考
- LINQを使用するには、「using System.Linq;」の宣言が必要です。
- リストに要素が存在しない場合は、例外「InvalidOperationException」が発生します。