C# 文件(夹)名字排序-使用Sort
文件(夹)名字:abc1231,abc1232,abc12310,abc12311
我的解决办法:先按照长度排序再按照名字排序
using System;
using System.Collections.Generic;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{
List<string> lis = new List<string>();
lis.Add("abc1231");
lis.Add("abc12310");
lis.Add("abc12311");
lis.Add("abc1232");
lis.Sort((a, b) => a.Length == b.Length ? a.CompareTo(b) : a.Length.CompareTo(b.Length));
for (int i = 0; i < lis.Count; i++)
{
Console.WriteLine(lis[i]);
}
Console.Read();
}
}
}
输出结果:

扩展:使用自定义泛型
using System;
using System.Collections.Generic;
namespace HelloWorldApplication
{
class HelloWorld
{
public class myList{
public string fName { get; set; }
public string other { get; set; }="";
}
static void Main(string[] args)
{
List<myList> lis = new List<myList>();
lis.Add(new myList() {fName="abc1231"});
lis.Add(new myList() {fName="abc12310"});
lis.Add(new myList() {fName="abc12311"});
lis.Add(new myList() {fName="abc1232"});
lis.Sort((a, b) => a.fName.Length == b.fName.Length ? a.fName.CompareTo(b.fName) : a.fName.Length.CompareTo(b.fName.Length));
for (int i = 0; i < lis.Count; i++)
{
Console.WriteLine(lis[i].fName);
}
Console.Read();
}
}
}
这篇博客介绍了如何使用C#对文件(夹)名字进行排序,包括一个简单的解决方案,即先按长度排序再按名字排序。示例代码展示了如何对字符串列表进行排序,并扩展到自定义泛型类的情况。通过这种方式,可以确保类似'abc1231', 'abc1232', 'abc12310', 'abc12311'这样的文件名正确排序。
名字排序-使用Sort&spm=1001.2101.3001.5002&articleId=119894971&d=1&t=3&u=08a02f3adbf34116b2cc500aa68f67bf)
3056

被折叠的 条评论
为什么被折叠?



