文件名排序

博客围绕文件名排序展开,但具体内容缺失。文件名排序在信息技术领域有一定应用,可用于文件管理等场景。
 /// <summary>
    /// C#按文件名排序
    /// </summary>
      public class FileNameList
    {
        /// <summary>
        /// C#按文件名排序(顺序)
        /// </summary>
        /// <param name="filePath">路径</param>
        public string [] SortFileName1(string filePath)
          {
            DirectoryInfo di = new DirectoryInfo(filePath);
            FileInfo[] arrFi = di.GetFiles("*.*");
            string [] filesName=new string [arrFi.Length];
            Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return x.Name.CompareTo(y.Name); });
            for (int i = 0; i < arrFi.Length; i++)
            {
               filesName[i]=arrFi[i].Name;
            }
            return filesName;
        }

        /// <summary>
        /// C#按文件名排序(倒序)
        /// </summary>
        /// <param name="filePath">路径</param>
        public string[] SortFileName2(string filePath)
        {
            DirectoryInfo di = new DirectoryInfo(filePath);
            FileInfo[] arrFi = di.GetFiles("*.*");
            string[] filesName = new string[arrFi.Length];
            Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return y.Name.CompareTo(x.Name); });
            for (int i = 0; i < arrFi.Length; i++)
            {
                filesName[i] = arrFi[i].Name;
            }
            return filesName;
        }

        /// <summary>
        /// C#按创建时间排序(顺序)
        /// </summary>
        /// <param name="filePath">路径</param>
        public string[] SortFileCreation1(string filePath)
        {
            DirectoryInfo di = new DirectoryInfo(filePath);
            FileInfo[] arrFi = di.GetFiles("*.*");
            string[] filesName = new string[arrFi.Length];
            Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return x.CreationTime.CompareTo(y.CreationTime); });
            for (int i = 0; i < arrFi.Length; i++)
            {
                filesName[i] = arrFi[i].Name;
            }
            return filesName;
        }
        /// <summary>
        /// C#按创建时间排序(倒序)
        /// </summary>
        /// <param name="filePath">路径</param>
        public string[] SortFileCreation2(string filePath)
        {
            DirectoryInfo di = new DirectoryInfo(filePath);
            FileInfo[] arrFi = di.GetFiles("*.*");
            string[] filesName = new string[arrFi.Length];
            Array.Sort(arrFi, delegate(FileInfo x, FileInfo y) { return y.CreationTime.CompareTo(x.CreationTime); });
            for (int i = 0; i < arrFi.Length; i++)
            {
                filesName[i] = arrFi[i].Name;
            }
            return filesName;
        }
        /// <summary>
        /// C#按文件夹名称排序(顺序)
        /// </summary>
        /// <param name="dirs">待排序文件夹数组</param>
        private void SortFolderName1(ref DirectoryInfo[] dirs)
        {
            Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { return x.Name.CompareTo(y.Name); });
        }

        /// <summary>
        /// C#按文件夹名称排序(倒序)
        /// </summary>
        /// <param name="dirs">待排序文件夹数组</param>
        private void SortFolderName2(ref DirectoryInfo[] dirs)
        {
            Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { return y.Name.CompareTo(x.Name); });
        }

        /// <summary>
        /// C#按文件夹夹创建时间排序(顺序)
        /// </summary>
        /// <param name="dirs">待排序文件夹数组</param>
        private void SortFolderCreation1(ref DirectoryInfo[] dirs)
        {
            Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { return x.CreationTime.CompareTo(y.CreationTime); });
        }

        /// <summary>
        /// C#按文件夹创建时间排序(倒序)
        /// </summary>
        /// <param name="dirs">待排序文件夹数组</param>
        private void SortFolderCreation2(ref DirectoryInfo[] dirs)
        {
            Array.Sort(dirs, delegate(DirectoryInfo x, DirectoryInfo y) { return y.CreationTime.CompareTo(x.CreationTime); });
        }
        private delegate void Sort(ref DirectoryInfo[] dirs);//指针委托
        private string [] SortFolder(string filePath, Sort sort)
        {
            DirectoryInfo di = new DirectoryInfo(filePath);
            DirectoryInfo[] arrDir = di.GetDirectories();
            string[] FolderName = new string[arrDir.Length];
            sort(ref arrDir);
            for (int i = 0; i < arrDir.Length; i++) 
            {
               FolderName[i]= arrDir[i].Name;
            }
            return FolderName;
        }
        public string[] SortFolder1(string filePath)
        {
           Sort sort=new Sort(SortFolderName1);
           return  SortFolder(filePath,sort);            
        }
        public string[] SortFolder2(string filePath)
        {
            Sort sort = new Sort(SortFolderName2);
            return SortFolder(filePath, sort);
        }
        public string[] SortFolder3(string filePath)
        {
            Sort sort = new Sort(SortFolderCreation1);
            return SortFolder(filePath, sort);
        }
        public string[] SortFolder4(string filePath)
        {
            Sort sort = new Sort(SortFolderCreation2);
            return SortFolder(filePath, sort);
        }
    }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值