2012-02-20 2 views
-4

아래 코드는 디렉토리의 파일을 정렬 된 배열로 제공합니다! 어떻게에서 정렬 것을 금지 할 수 있습니다 : 예를 들어정렬하지 않고 디렉토리에있는 파일 가져 오기

string sorted_files[]= System.IO.Directory.GetFiles("C:\\A\\B\\"); 

가 나에게 제공합니다

01.txt 
10.txt 
11.txt 
110.txt 
2.txt 
. 
. 
. 
+0

그 다음에 어떤 순서로 주문 하시겠습니까? 어떤 이유로 섞여 있어야합니까? 나는 그것이 운영 체제가 기본적으로 제공하는 순서대로 당신에게 그것을 준다고 생각합니다 ... – Chris

+0

당신은 어떤 순서로 파일을 기대 했습니까? – BrokenGlass

+0

왜 그들이 정렬 된 문자열 [] 배열을 기반으로 들어오지 못하게하려고합니까? ??? – MethodMan

답변

4

는 주문이 이미 보장 할 수 없습니다. Directory.GetFiles의 문서에서 :

반환되는 파일 이름의 순서는 보장되지 않습니다. 특정 정렬 순서가 필요한 경우 Sort() 메서드를 사용하십시오.

파일 시스템이 사전 식 순서대로 제공하는 경우 괜찮습니다.하지만이를 가정해서는 안됩니다 ... "shuffled"를 비롯한 다른 순서를 원한다면 너 자신.

1

다음은 MSDN :

보장되지 반환 된 파일 이름의 순서; 특정 정렬 순서가 필요한 경우 정렬 메서드를 사용하십시오.

오더는 정렬 기준에 따라 상당히 다릅니다. 따라서 어떤 정렬 기준을 기대하는지 확인해보십시오. 그러면 작업이보다 명확하고 성취 할 수 있습니다.

관련 문제