当前位置: 首页 > 编程语言 > C#

FileInfo数组如何排序分享

时间:2023-04-10 22:18:17 C#

FileInfo数组如何排序我有如下代码FileInfo[]taskFiles=taskDirectory.GetFiles("*"+blah+"*.xml");我想按文件名对列表进行排序。如何使用.netv2尽可能快速、轻松地完成此操作。调用Array.Sort,传入比较委托:Array.Sort(taskFiles,delegate(FileInfof1,FileInfof2){returnf1.Name.CompareTo(f2.Name);});在C#3中,这变得稍微简单一些:Array.Sort(taskFiles,(f1,f2)=>f1.Name.CompareTo(f2.Name));或者,如果您想要不区分大小写的排序顺序,可以使用StringComparer:Array.Sort(taskFiles,(x,y)=>StringComparer.OrdinalIgnoreCase.Compare(x.Name,y.Name));(或使用string.Compare(x.Name,y.Name,true)或其他任何比较字符串的方法:)Array.Sort(taskFiles,delegate(FileInfox,FileInfoy){returnstring.Compare(x.Name,y.姓名);});比较comparison=newComparison(delegate(FileInfoa,FileInfob){returnString.Compare(a.Name,b.Name);});Array.Sort(任务文件,比较);不过反正我觉得GetFiles的结果是按名称排序的。。。以上是C#学习教程:HowtoArraysaresortedandshared。如果对你有用,需要了解更多C#学习教程,希望你多多关注——publicclassFileComparer:IComparer{publicenumCompareBy{Name/*az*/,LastWriteTime/*oldesttonewest*/,CreationTime/*从最旧到最新*/,LastAccessTime/*最旧tonewest*/,FileSize/*smallestfirst*/,}//默认比较int_CompareBy=(int)CompareBy.Name;publicFileComparer(){}publicFileComparer(CompareBycompareBy){_CompareBy=(int)compareBy;}intIComparer.Compare(对象x,对象y){int输出=0;DirectoryInfofile1=newDirectoryInfo(x.ToString());DirectoryInfofile2=newDirectoryInfo(y.ToString());switch(_CompareBy){case(int)CompareBy.LastWriteTime:output=DateTime.Compare(file1.LastWriteTime,file2.LastWriteTime);休息;case(int)CompareBy.CreationTime:output=DateTime.Compare(file1.CreationTime,file2.CreationTime);休息;case(int)CompareBy.LastAccessTime:output=DateTime.Compare(file1.LastAccessTime,file2.LastAccessTime);休息;//case(int)CompareBy.FileSize://output=Convert.ToInt32(file1.Length-file2.Length);//休息;case(int)CompareBy.Name:默认:output=(newCaseInsensitiveComparer()).Compare(file1.Name,file2.Name);休息;返回n输出;}}/////////////////////////////////ArrayListlist=newArrayList();字符串文件夹=@"D:DVRDataICICITransaction21-Dec-088_51_23_2231";字符串[]文件=Directory.GetFiles(文件夹);IComparercomp=newFileComparer(FileComparer.CompareBy.CreationTime);Array.Sort(文件,比较);foreach(文件中的字符串文件){list.Add(文件);}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: