我有个文件夹,在“我的电脑”或资源管理器里查看这个文件夹,点击“名称”排序,得到的顺序是,如果是数字的,会自动按数字递增或递减排序,有字母的,会 按字母顺序排,如图:http://www.lugs.cn/UploadFile/Images/20070726202841.JPG,但是,我在 C#程序里用DirectoryInfo的GetFiles()方法读取文件列表的时候,直接在foreach里遍历顺序列出来,得到的结果却是这样的: http://www.lugs.cn/UploadFile/Images/20070726202852.JPG,
程序代码如下:
string dir = @"D:/ProjectSRC/Images/20070726193917";
DirectoryInfo di = new DirectoryInfo(dir);
FileInfo[] fis = di.GetFiles();
Array.Sort(fis, new SortFile(SortOption.FileName));
foreach(FileInfo fi in fis)
{
Response.Write(fi.Name+"<br/>");
}
这 句“Array.Sort(fis, new SortFile(SortOption.FileName));”有与没有,结果都是这样(如何才能让这个顺序做到与在本机资源管理器里按名称排序得到 的结果完全一致呢?),这句里用到的SortFile方法,是我在网上搜索到的一个排序类:
using System;
using System.Collections;
using System.IO;
public enum SortOption
{
FileName,
Extension,
CreationTime
}
public class SortFile:IComparer
{
SortOption mso;
public SortFile(SortOption so)
{
mso = so;
}
int IComparer.Compare(object a, object b)
{
FileInfo fa = (FileInfo)a;
FileInfo fb = (FileInfo)b;
switch(mso)
{
case SortOption.FileName:
return String.Compare(fa.Name,fb.Name,true);
break;
case SortOption.Extension:
return String.Compare(Path.GetExtension(
fa.Name),Path.GetExtension(fb.Name),true);
break;
case SortOption.CreationTime:
return DateTime.Compare(
fa.CreationTime,fb.CreationTime);
break;
default:
break;;
}
return 0;
}
}
请路过的高手给予指点
分享到:
相关推荐
旋转检测 要求 torch==1.6 shapely==1.7.1 opencv==4.2.0.34
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
基于springboot的java毕业&课程设计
智慧藏文化博物馆建设方案PPT(79页)
基于springboot的java毕业&课程设计
动作识别_基于OpenPose实现的实时姿态估计+动作识别_附项目源码_优质项目实战
机器学习之随机森林算法
反弹shell
该系统是针对各类学院或者研究院的项目管理而设计开发的。它实现了项目的各类信息的录入、修改、查询和报表打印等功能,这些信息主要包括项目的基本情况、项目进展程度、项目经费开支、以及科研成果和项目获奖情况等。该系统界面友好清晰,使用方便快捷,它简化了项目的管理过程,提高了科研管理人员的工作效率,从而节省了人力资源与经费开支,有利于经济效益的提高和科研事业的发展。
STM32/GD32 I2C DMA 主从通信 定长主从通信代码示例
课设毕设基于SSM的大学生兼职跟踪系统 LW+PPT+源码可运行.zip
巨灾保险问题及对策研究.docx
卷积神经网络(Convolutional Neural Networks, CNNs 或 ConvNets)是一类深度神经网络,特别擅长处理图像相关的机器学习和深度学习任务。它们的名称来源于网络中使用了一种叫做卷积的数学运算。以下是卷积神经网络的一些关键组件和特性: 卷积层(Convolutional Layer): 卷积层是CNN的核心组件。它们通过一组可学习的滤波器(或称为卷积核、卷积器)在输入图像(或上一层的输出特征图)上滑动来工作。 滤波器和图像之间的卷积操作生成输出特征图,该特征图反映了滤波器所捕捉的局部图像特性(如边缘、角点等)。 通过使用多个滤波器,卷积层可以提取输入图像中的多种特征。 激活函数(Activation Function): 在卷积操作之后,通常会应用一个激活函数(如ReLU、Sigmoid或tanh)来增加网络的非线性。 池化层(Pooling Layer): 池化层通常位于卷积层之后,用于降低特征图的维度(空间尺寸),减少计算量和参数数量,同时保持特征的空间层次结构。 常见的池化操作包括最大池化(Max Pooling)和平均池化(Average Po
Unity插件 Translucent Image 可帮助你构建精美的模糊背景 UI,例如在 iOS/MacOS/Windows 10 Fluent 设计中的 UI。 与许多其他背景模糊解决方案不同,Translucent Image 采用一种对性能影响最小的高效算法,因此用户可以享受更高的帧速率和更长的电池寿命。不仅如此,当你将模糊调高时,它还可以产生完美的平滑效果,而其它资源在高度模糊时会呈现难看的块状图像。
微信小程序设计之相关行业源码及图文导入教程
react中的组件定义
课程设计 基于Python的机器学习的人脸识别系统的设计与实现+详细文档+全部资料(高分项目).zip本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 课程设计 基于Python的机器学习的人脸识别系统的设计与实现+详细文档+全部资料(高分项目).zip本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 课程设计 基于Python的机器学习的人脸识别系统的设计与实现+详细文档+全部资料(高分项目).zip本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 课程设计 基于Python的机器学习的人脸识别系统的设计与实现+详细文档+全部资料(高分项目).zip本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。
微信小程序设计之相关行业源码及图文导入教程
AndroidStudio_WiFiManager-master
【微电网优化】粒子群优化算法的微电网调度(光伏、储能、电动车、电网交互)【含Matlab源码 2190期】.zip