0
每个数组字符串表示文件夹中的文本文件。我想要根据文本文件包含的内容对数组进行排序。我会怎么做?通过数组中的字符串进行排序?
每个数组字符串表示文件夹中的文本文件。我想要根据文本文件包含的内容对数组进行排序。我会怎么做?通过数组中的字符串进行排序?
您可以通过自定义Comparison
到Array.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)
...例如。
首先您需要查看每个文件中的内容。循环浏览字符串,查看文件,并找出它应该在什么位置。这应该让你开始。 – David 2012-03-31 20:09:17