本帖最后由 imtns 于 2012-02-21 17:10:33 编辑

解决方案 »

  1.   

    dList = list.Except(Submitted.Select(p=>p.Date)).ToList();
      

  2.   

                IList<DateTime> Submitted = new List<DateTime> { Convert.ToDateTime("2012-02-12 10:41:15"), Convert.ToDateTime("2012-02-13 09:56:45"), Convert.ToDateTime("2012-02-13 09:56:02"), Convert.ToDateTime("2012-02-15 14:23:46") };
                var list = Enumerable.Range(0, DateTime.DaysInMonth(2012, 2)).Select(i => new DateTime(2012, 2, 1).AddDays(i)).ToList();
                IList<DateTime> dList = new List<DateTime>();
                list.Except(Submitted,new DateTimeCompare()).ToList().ForEach(x => Console.WriteLine(x.ToString("yyyy-MM-dd")));
            public class DateTimeCompare : IEqualityComparer<DateTime>
            {
                #region IEqualityComparer<DateTime> 成员            public bool Equals(DateTime x, DateTime y)
                {
                    if (x.ToString("yyyy-MM-dd").Equals(y.ToString("yyyy-MM-dd")))
                        return true;
                    else
                        return false;
                }            public int GetHashCode(DateTime obj)
                {
                    return obj.Year + obj.Month + obj.Day;
                }            #endregion
            }