C# - Failed to compare two elements in the array

c#, linq

Solution

Needless to create anonymous type, in your case the result `distinctDateValues` is a list of anonymous type, not a list of `DateTime`, you should get the sorted list of `DateTime` like below with `OrderBy`:

var distinctDateValues = dt.AsEnumerable()
               .Select(row => row.Field<DateTime>("DAY"))
               .Distinct()
               .OrderBy(x => x)
               .ToList();

Also, you should use built-in method `Field<DateTime>` instead of using one more step with `DateTime.Parse`

Problem

This is my code: ``` var distinctDateValues = dt.AsEnumerable() .Select(row => new { Date = DateTime.Parse(row.Field<string>("DAY")) }) .Distinct() .ToList(); distinctDateValues.Sort(); // getting error on this line ``` Values in distinctDateValues are: The error i am getting is "Failed to compare two elements in the array." Can anybody suggest me as what i am doing wrong here. I want to sort the values in date column of distinctDateValues.

Original source