c#截取后几位_c#中如何取文件名的后六位,然后进行排序

20分

public FileInfo[] order(FileInfo[] files)

{

for (int j = 1; j 

{

for (int i = 0; i 

{

int bindex=files[i].Name.LastIndexOf(".")-6;

int tempName1=Convert.ToInt32(files[i].Name.Substring(bindex,6));

bindex = files[i+1].Name.LastIndexOf(".") -6;

int tempName2 = Convert.ToInt32(files[i+1].Name.Substring(bindex, 6));

// 如果 [i] > [i+1] ,则 [i] 上浮一位

if ( tempName1> tempName2)

{

FileInfo temp =files[i];

files[i] = files[i + 1];

files[i + 1] = temp;

}

}

}

return files;

}

不知道你说的取后6为是什么,如果全是数字就这个方法试下,如果是数字在其中就自己再处理下,就这个思路。自己再改改吧。

—-

DirectoryInfo di = new DirectoryInfo(@”D:\data”);

FileInfo[] finfo = di.GetFiles();

var orderFiles = finfo.OrderBy(f => Path.GetFileNameWithoutExtension(f.Name).Substring(8, 6)).ToList();

foreach (object s in orderFiles)

{

listBox2.Items.Add(s.ToString());

}

—- 20分

Directory.GetFiles(“c:\\”, “*.*”).OrderBy(x => Path.GetFileName(x).SubString(Path.GetFileName(x).Length – 6))

—-

文件名用16进制表示的,一共有六位,现在想排序,从小到大,并且重新命名,第一个叫1,以此类推2,3,……

—-

引用 4 楼 jhr123321 的回复:

文件名用16进制表示的,一共有六位,现在想排序,从小到大,并且重新命名,第一个叫1,以此类推2,3,……

没关系,十六进制也好十进制也好,都符合ascii序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值