2012-03-31 2 views
0

각 배열 문자열은 폴더의 텍스트 파일을 나타냅니다. 텍스트 파일에 포함 된 내용에 따라 배열을 정렬해야합니다. 내가 어떻게 그럴 수 있니?배열에서 문자열을 통해 정렬 하시겠습니까?

당신은 사용자 정의 Comparison Array.Sort에 통과 그래서 그냥 거기에 파일을 읽을 수
+0

먼저 각 파일의 내용을 살펴 봐야합니다. 문자열을 반복하고 파일을보고 어떤 위치에 있어야하는지 파악하십시오. 시작해야합니다. – David

답변

5

: 효율성에 문제가있는 경우

Array.Sort(str, Function(a, b) 
        Dim aContents As String = IO.File.ReadAllText(a) 
        Dim bContents As String = IO.File.ReadAllText(b) 

        'Compare the contents and return -1 if a < b, 0 if a = b, or 1 if a > b. 
       End Function) 

, 당신은 Dictionary에 각 파일의 내용을 캐시 또는 뭔가를 할 수 있습니다를 비슷한.


또한, 당신은 정렬 기준이 필요 정확하게는 파일에에 따라, LINQ를 갈 수 있습니다

Dim result = str. 
    Select(Function(x) New With {.File = x, .Contents = IO.File.ReadAllText(x)}). 
    OrderBy(Function(y) y.Contents) 

을 ... 예를 들면.

관련 문제