在我的应用中,我有一个文件路径列表,如
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 :(得分:1)
使用双循环,您只能比较两个文件名,如:
for(int i = 0; i < arr.Length; i++){
for(int j = i + 1; j < arr.Length; j++){
// comparison
}
}