2012-03-31 12 views
0

各配列文字列は、フォルダ内のテキストファイルを表します。テキストファイルに含まれるものに基づいて配列をソートする必要があります。どうすればいい?配列内の文字列をソートする?

+0

まず、各ファイルの内容を確認する必要があります。文字列をループしてファイルを見て、どの位置に置かなければならないかを調べます。 – David

答えて

5

あなたがそうそこにファイルを読んで、Array.SortにカスタムComparisonを渡すことができます。

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) 

関連する問題