Есть 10 файлов в формате xls. Название у них dd.mm.yy
. Как отсортировать список files
по возрастанию дат? Не совсем понятно как привести имя файла к DateTime
и отсортировать их.
var path = @"C:\Users\admin\Desktop\1\DBCommanderNew\bin\Debug";
var files = Directory.GetFiles(
path,"*.xls").Select(x => Path.GetFileNameWithoutExtension(x)).OrderBy(x => x).ToList();
var path = @"C:\Users\admin\Desktop\1\DBCommanderNew\bin\Debug";
var files = Directory
.GetFiles(path,"*.xls")
.Select(x => Path.GetFileNameWithoutExtension(x))
.OrderBy(x =>
{
DateTime date;
return DateTime.TryParseExact(x, "dd.MM.yy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date)
? date
: DateTime.MinValue;
}).ToList();
C# 7:
{
var path = @"C:\Users\admin\Desktop\1\DBCommanderNew\bin\Debug";
var files = Directory.GetFiles(path, "*.xls")
.Select(x => Selector(x))
.OrderBy(x => x.Item2.Date)
.Select(x => x.Item1)
.ToList();
}
private static (string, DateTime) Selector(string input)
{
var file = Path.GetFileNameWithoutExtension(input);
if (DateTime.TryParse(file, out DateTime dateTime))
return (file, dateTime);
return (file, DateTime.MinValue);
}
C# 6:
{
var path = @"C:\Users\admin\Desktop\1\DBCommanderNew\bin\Debug";
var files = Directory.GetFiles(path, "*.xls")
.Select(x => Selector(x))
.OrderBy(x => x.Item2.Date)
.Select(x => x.Item1)
.ToList();
}
private static Tuple<string, DateTime> Selector(string input)
{
var file = Path.GetFileNameWithoutExtension(input);
DateTime dt;
if (DateTime.TryParse(file , out dt))
return Tuple.Create(file, dt);
return Tuple.Create(file, DateTime.MinValue);
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
unity выдает ошибку
Расскажите в чем разница при разработке программы на C# в winforms и UWP? Есть ли разница в написании кода и если да то насколько? В данном вопросе...