public int[] GetMinMonth() { var grouped = Trades.ToLookup(t => new DateTime( DateTimeOffset.FromUnixTimeSeconds(t.T).Year, DateTimeOffset.FromUnixTimeSeconds(t.T).Month, 1)); var minGroup = grouped.Aggregate((grp, minSoFar) => minSoFar == null || grp.Count() < minSoFar.Count() ? grp : minSoFar); return(new int[3] { minGroup.Key.Year, minGroup.Key.Month, minGroup.Count() }); }