files = Directory.GetFiles(mainpath, "animated*.gif", SearchOption.AllDirectories);
Array.Sort(files);
foreach (string str in files)
{
Console.Write(str + " ");
}
files is string [] 파일은 파일의 각 색인에 51 개의 색인을 포함합니다. 예를 들어 색인 0에서 다음을 참조하십시오.
c:\temp\newimages\Changed_Resolution_By_10\SecondProcess_-Width = 102 Height = 102\animated102x102.gif
색인 1에서 나는 다음을 본다.
"c:\temp\newimages\Changed_Resolution_By_10\SecondProcess_-Width = 112 Height = 112\animated112x112.gif"
색인 2 :
"c:\temp\newimages\Changed_Resolution_By_10\SecondProcess_-Width = 12 Height = 12\animated12x12.gif"
그리고 인덱스 0은 다음과 같이 시작해야합니다.
"c:\temp\newimages\Changed_Resolution_By_10\SecondProcess_-Width = 502 Height = 502\animated502x502.gif"
색인 1 :
"c:\temp\newimages\Changed_Resolution_By_10\SecondProcess_-Width = 492 Height = 492\animated492x492.gif"
그리고 마지막 색인은 다음과 같습니다.
"c:\temp\newimages\Changed_Resolution_By_10\SecondProcess_-Width = 2 Height = 2\animated2x2.gif"
그것이 명령이어야합니다. 그러나 이제는 모든 것이 엉망입니다. 그래서 Array.Sort를 사용하려고했지만 작동하지 않습니다.
나는 또한 전에 정렬을 위해 사용한이 방법이 있습니다.
private void Walkdirectoryfulldepth(string dirPath)
{
data = new List<string>();
DirectoryInfo dirInfo = new DirectoryInfo(dirPath);
var sorted = dirInfo.GetDirectories("*.*", SearchOption.TopDirectoryOnly).ToList();
DirectoryInfo[] subDirs = dirInfo.GetDirectories("*.*", SearchOption.TopDirectoryOnly);
string[] strDir = new string[subDirs.Count()];
int i = 0;
foreach (var item in subDirs)
{
strDir[i] = item.FullName;
i++;
}
NumericComparer nc = new NumericComparer();
Array.Sort(strDir, nc);
foreach (var item in strDir)
{
data.Add(Path.GetFileName(item));
}
}
하지만이 메서드는 string []이 아닌 문자열을 얻습니다. 결국에는 변수 파일이 string []으로 유지되지만 정렬되기를 원합니다.
Walkdirectoryfulldepth와 같은 다른 메서드를 어떻게 만들 수 있지만 이번에는 string []을 허용합니까?
다음을 시도 할 수 있습니다.
string[] strarr = new string[] { @"c:\temp\newimages\Changed_Resolution_By_10\SecondProcess_-Width = 502 Height = 502\animated502x502.gif", @"c:\temp\newimages\Changed_Resolution_By_10\SecondProcess_-Width = 492 Height = 492\animated492x492.gif", @"c:\temp\newimages\Changed_Resolution_By_10\SecondProcess_-Width = 2 Height = 2\animated2x2.gif" };
IEnumerable<string> strTest = strarr.OrderByDescending(p => p.Substring(p.IndexOf("x"), p.Length - p.IndexOf(".")));
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다