Ответ, помеченный как правильный, мне не помог.Мое приложение, казалось, входило в бесконечный цикл брошенных исключений.Чтобы избежать использования try / catch и ловли брошенных исключений, я использовал следующее, и оно отлично работает:
DateTime dateX;
DateTime dateY;
if (
DateTime.TryParse(listviewX.SubItems[ColumnToSort].Text, out dateX)
&& DateTime.TryParse(listviewY.SubItems[ColumnToSort].Text, out dateY)
)
{
compareResult = ObjectCompare.Compare(dateX, dateY);
}
else
{
compareResult = ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text, listviewY.SubItems[ColumnToSort].Text);
}