using System.Collections.Generic;
using System.Text.RegularExpressions;
public static void Main()
var list = FileSamples.SortNumerically();
foreach (var item in list)
public static List<string> SortNumerically()
int? Sorter(string fileName) =>
int.TryParse(Regex.Match(Path.GetFileName(fileName), @"\d+").Value, out var value) ? value : null;
"C:\\DownLoads\\Path1\\image1.gif",
"C:\\DownLoads\\Path1\\image11.gif",
"C:\\DownLoads\\Path1\\image123.gif",
"C:\\DownLoads\\Path1\\image342.gif",
"C:\\DownLoads\\Path1\\image2.gif"
"C:\\DownLoads\\Path2\\image12.gif",
"C:\\DownLoads\\Path2\\image13.gif",
"C:\\DownLoads\\Path2\\image129.gif",
"C:\\DownLoads\\Path2\\image32.gif",
"C:\\DownLoads\\Path2\\image14.gif"