string basePath = this.textBox1.Text.Trim();
if (!System.IO.Directory.Exists(basePath))
{
MessageBox.Show("指定文件夹不存在!");
}
System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(this.textBox1.Text.Trim());
files = dirInfo.GetFiles();
Array.Sort(files, (x1, x2) => Convert.ToDecimal(Regex.IsMatch(x1.Name, @"\d+[-]\d") ? Regex.Match(x1.Name, @"\d+[-]\d").Value.Replace("-", ".") : Regex.Match(x1.Name, @"\d+").Value).CompareTo(Convert.ToDecimal(Regex.IsMatch(x2.Name, @"\d+[-]\d") ? Regex.Match(x2.Name, @"\d+[-]\d").Value.Replace("-", ".") : Regex.Match(x2.Name, @"\d+").Value)));
使用正则表达式来匹配其中的特殊字符,然后将其大小进行比较,从而对文件名进行从小到大排序