Question 1:
DateTime minDate = yourCollectionOfDateTimes.Min(); DateTime maxDate = yourCollectionOfDateTimes.Max();
Or if the collection is large and you do not want to repeat it twice to get min and max:
DateTime? minDate = null, maxDate = null; foreach (DateTime dt in yourCollectionOfDateTimes) { if ((minDate == null) || (dt < minDate.Value)) minDate = dt; if ((maxDate == null) || (dt > maxDate.Value)) maxDate = dt; }
Question 2:
VideoGame oldest = allGames.Aggregate((a, x) => x.ReleaseDate < a.ReleaseDate ? x : a); VideoGame newest = allGames.Aggregate((a, x) => x.ReleaseDate > a.ReleaseDate ? x : a);
Or, if the collection is large, and you do not want to repeat it twice to get the oldest and latest:
VideoGame oldest = null, newest = null; foreach (VideoGame vg in allGames) { if ((oldest == null) || (vg.ReleaseDate < oldest.ReleaseDate)) oldest = vg; if ((newest == null) || (vg.ReleaseDate > newest.ReleaseDate)) newest = vg; }
Lukeh
source share