string mypath = txtPath.Text;
DirectoryInfo d = new DirectoryInfo(mypath);
foreach (FileInfo fi in d.EnumerateFiles("*.jpg").OrderBy(x => x.Name))
txtStatus.Text = txtStatus.Text + fi.Name + Environment.NewLine;
我得到的结果就是这个
banner-noche-estrellas-zacatecas2015.jpg
banner-noche-estrellas-zacatecas2015_10.jpg
banner-noche-estrellas-zacatecas2015_11.jpg
banner-noche-estrellas-zacatecas2015_12.jpg
banner-noche-estrellas-zacatecas2015_13.jpg
banner-noche-estrellas-zacatecas2015_14.jpg
banner-noche-estrellas-zacatecas2015_15.jpg
banner-noche-estrellas-zacatecas2015_16.jpg
banner-noche-estrellas-zacatecas2015_17.jpg
banner-noche-estrellas-zacatecas2015_18.jpg
banner-noche-estrellas-zacatecas2015_19.jpg
banner-noche-estrellas-zacatecas2015_2.jpg
banner-noche-estrellas-zacatecas2015_20.jpg
banner-noche-estrellas-zacatecas2015_21.jpg
我应该得到这个:
banner-noche-estrellas-zacatecas2015.jpg
banner-noche-estrellas-zacatecas2015_2.jpg
banner-noche-estrellas-zacatecas2015_3.jpg
等等
答案 0 :(得分:0)
你正在按顺序获取它们。问题是它们是字符串,因此您按字符串顺序获取它们。
最直接的解决方案是重命名您的文件,使其具有相同的位数,例如xtrunc
- > set.seed(55)
x = rnorm(6000)
xtrunc = x[x > -1]
xtrunc.dist = fitdist(xtrunc, "norm")
round(cbind(sapply(list(x=x,xtrunc=xtrunc), function(x) c(mean=mean(x),sd=sd(x))),
xtrunc.dist=xtrunc.dist$estimate),3)
x xtrunc xtrunc.dist
mean -0.007 0.275 0.275
sd 1.009 0.806 0.806
如果你这样做,你的方法就可以了。
如果您不想这样做,则需要在调用排序之前将该数字解析为int。使用正则表达式来做到这一点。