Hi, I have a sort comparator that I am using to sort a List<> by a DateTime value and a String value. Here is the code:

Code:
    public class AppointmentComparer3 : Comparer<MSTSAppointment>
    {
        public override int Compare(MSTSAppointment x, MSTSAppointment y)
        {
            if (x.VAttendee == y.VAttendee)
            {
                return x.StartTime.CompareTo((DateTime)y.StartTime);
            }
            if (x.StartTime == y.StartTime)
            {
                return (x.VAttendee.CompareTo((string)y.VAttendee));
            }
            else return (x.VAttendee.CompareTo((string)y.VAttendee));
        }
    }
The "VAttendee"'s are the Strings, and the "StartTime"'s are the DateTime values.

Two things I need to accomplish:
1. Increase speed. This is pretty slow when I have a few thousand items to sort. If I comment out the call to the sort (doesn't affect my app's functionality, just the visuals) it's noticeably faster.
2. Modify functionality, so that if the DateTime (StartTime) values are identical, the items are returned in alphabetical order by VAttendee.

I am using VS2008 and .NET 3.5SP1.

I am guessing that sorting by DateTime values is inherently slow, but I don't know this for a fact that's why I'm asking.

Any help is appreciated!