C# ListのPredicate
ジェネリッククラスの検索(Find)
class Hoge { private int _id = 0; private int _year = 0; private int _month = 0; public int Id { get {return this._id;} set {this._id = value;} } public int Year { get {return this._year;} set {this._year = value;} } public int Month { get {return this._month;} set {this._month = value;} } } class Main { Hoge hoge1 = new Hoge(); hoge1.Id = 1; hoge1.Year = 2006; hoge1.Month = 5; Hoge hoge2 = new Hoge(); hoge2.Id = 2; hoge1.Year = 2006; hoge1.Month = 12; List<Hoge> list = new List<Hoge>(); list.Add(hoge1); list.Add(hoge2); DateTime date = DateTime.Now; for (int i = 0;i < 12;i++) { Date date1 = date.AddMonth(i); Hoge hoge = list.Find(delegate(Hoge item) { return (item.Year == date1.Year && item.Month == date1.Month); }); if (hoge!=null) { //OK } else { //NG } } }