C# 获得文件夹文件但是不按照创建时间或者修改时间来排序的问题

 

我获取的文件夹是这样子的

 

下面 这篇文章,就 一句话 就很好的解决了 文件按照我 比如,指定 创建的时间 ,或者上次 修改的时间,来排序。

C# 利用Sort方法对FileInfo[] 进行时间或名字排序_暗色调的博客-CSDN博客

 

二更:

发现 按 上面 那个 Cratintime 来还是 不对,最后还是 按照  LastWriteTime 来排序 勉强对,但这不能 排除 后续有人 改了 某个文件造成 排序 错乱。

下文有 按照 名字,创建时间,还有 修改时间 等等的 顺序 和 倒序 排序,值得参考!

https://www.cnblogs.com/soundcode/p/4885723.html

 

三更:

发现还是不对,那么自己就重写一个 将名字组合,变换排序的 函数

        private void SortAsFileCreationTime(ref FileInfo[] arrFi)
        {
            Array.Sort(arrFi, delegate (FileInfo x, FileInfo y)
            {
                DateTime dtX = Convert.ToDateTime(x.Name.Split(new string[] { "_data" }, StringSplitOptions.None)[0]);
                DateTime dtY = Convert.ToDateTime(y.Name.Split(new string[] { "_data" }, StringSplitOptions.None)[0]);
                return dtX.CompareTo(dtY);
                //return y.CreationTime.CompareTo(x.CreationTime);
            });
            //Array.Sort(arrFi, delegate (FileInfo x, FileInfo y) { return x.LastWriteTime.CompareTo(y.LastWriteTime); });
            //Array.Sort(arrFi, delegate (FileInfo x, FileInfo y) { return x.Name.CompareTo(y.Name); });//顺序排列
            //Array.Sort(arrFi, delegate (FileInfo x, FileInfo y) { return y.Name.CompareTo(x.Name); });//倒序排列
        }

文件 名字 如: 2016-12-21_data.log,我 split 得到 2016-12-21,再转换为时间变量,再排序。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往事如yan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值