2012-03-31 39 views
0

每个数组字符串表示文件夹中的文本文件。我想要根据文本文件包含的内容对数组进行排序。我会怎么做?通过数组中的字符串进行排序?

+0

首先您需要查看每个文件中的内容。循环浏览字符串,查看文件,并找出它应该在什么位置。这应该让你开始。 – David 2012-03-31 20:09:17

回答

5

您可以通过自定义ComparisonArray.Sort,所以就先在那里的文件:

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) 

...例如。

相关问题