2017-03-17 132 views
-1

在我的应用程序,我有一个像比较列表元素,如何避免重复比较?

private string[] listOfFiles = { 
    "A.txt", "B.txt", "C.txt", "D.txt" 
}; 

的文件路径列表,我需要这些文件到列表中的所有其他文件的每一个比较,所以直接的方式将类似于

A.txt - B.txt 
A.txt - C.txt 
A.txt - D.txt 
B.txt - A.txt 
B.txt - C.txt 
B.txt - D.txt 

...等等。

正如你所看到的,这不是最优的,因为在这个例子中,我将A.txt与B.txt进行了两次比较,浪费了时间和资源。

如何避免这样的重复比较?我确信有一个简单的方法,但我没有看到它,我的Google-fu正在让我失望。

+0

你需要验证的内容或只是删除重复的文件路径? – StfBln

+0

我实际上是比较图像,其中,与我正在处理的图像数量,可能需要很长时间,甚至更长的时间与所有重复。我只需要摆脱所有重复。 –

回答

1

随着双环你只能一次比较两个文件名像这样的:

for(int i = 0; i < arr.Length; i++){ 
    for(int j = i + 1; j < arr.Length; j++){ 
      // comparison 
    } 
}