特定の条件に一致する要素を一つ取り出す
[1] FirstOrDefault()
* FirstOrDefault()で、条件に一致した要素を取り出すことができる
* First()では、要素が見つからなかった場合、例外が発生してしまうことに注意
サンプル
DateTime[] source =
{
new DateTime(2011,1,2),
new DateTime(2011,2,3),
new DateTime(2011,3,4),
new DateTime(2011,4,5),
};
DateTime findDate = source.FirstOrDefault(x => x.Month == 3);
[2] Array.Find()
* Array.Find()でも、条件に一致した要素を取り出すことができる
* 条件に一致するインデックスを求める場合は、Array.FindIndex メソッドを利用
サンプル
DateTime[] source =
{
new DateTime(2011,1,2),
new DateTime(2011,2,3),
new DateTime(2011,3,4),
new DateTime(2011,4,5),
};
DateTime findDate = Array.Find(source, x => x.Month == 3);
特定の条件に一致する要素を複数取り出す
* Where()で、特定の条件に一致する要素を複数取り出すことができる
サンプル
DateTime[] source =
{
new DateTime(2011,1,2),
new DateTime(2011,2,3),
new DateTime(2011,3,4),
new DateTime(2011,4,5),
};
DateTime[] findDates = source.Where(x => x.Month < 2).ToArray();
特定の条件に一致して要素が存在しているかどうかを判定
* Array.Exists()で、特定の条件に一致して要素が存在しているかどうかを判定することができる
サンプル
DateTime[] source =
{
new DateTime(2011,1,2),
new DateTime(2011,2,3),
new DateTime(2011,3,4),
new DateTime(2011,4,5),
};
if (Array.Exists(source, x => x.Month < 2))
{
this.label.Text = "存在する";
}
else
{
this.label.Text = "存在しない";
}