Что вы подразумеваете под «сортировать словарь»?В словаре нет «порядка», как такового.Это коллекция ключей, базовой реализацией которой является хеш-таблица.
Я предполагаю, что вы хотели сказать: «Я хочу перечислить содержимое словаря в порядке значений».Это можно сделать следующим образом:
public void List( Dictionary<string,DateTime> dict )
{
int i = 0 ;
foreach( KeyValuePair<string,DateTime> entry in dict.OrderBy( x => x.Value ).ThenByDescending( x => x.Key ) )
{
Console.WriteLine( "{0}. Key={1}, Value={2}" , ++i , entry.Key , entry.Value ) ;
}
Console.WriteLine( "The dictionary contained a total of {0} entries." , i ) ;
}
Если, с другой стороны, вы на самом деле хотите / нуждаетесь в заказанной коллекции, вам необходимо указать, каковы ваши фактические требования.