我目前正在编写一个简单的应用程序来比较两个列表并返回差异,如果有任何发现。两个ArrayLists中的项目比较和返回差异
注 - [INT]对于这种解释
//---------------Prep----------------------------
ArrayList list1 = new ArrayList();
ArrayList storage = new ArrayList();
ArrayList list2 = new ArrayList();
string path = Application.ExecutablePath;
string root = Path.GetDirectoryName(path);
//---------------END Prep------------------------
//---------------Load content into list1------------------------
StreamReader objReader = new StreamReader(root + "/healthy.txt");
string sLine = "";
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null)
list1.Add(sLine);
}
objReader.Close();
//---------------END Load content into list1------------------------
//---------------Load content into list2------------------------
string[] files = Directory.GetFiles(root, "*.txt", SearchOption.AllDirectories);
foreach (string file in files)
{
storage.Add(file.ToString());
}
foreach (string sOutput2 in storage)
{
list2.Add(GetMD5HashFromFile(sOutput2));
}
//---------------END Load content into list2------------------------
我都试过了,但似乎我不能破解这个目的虚指标..我如何“通过这两个列表”循环'和并排比较每个项目,然后返回列表2中与控制列表(列表1)不匹配的项目?
逻辑上,程序会返回''更多作品''作为错误的条目,因为“音乐”和“更多作品”都位于各自列表的第三行,因此它们会被检查并且不匹配。列表1是控件,因此列表2的条目被记录为奇数列。
现在我已经尝试了它的权利和离开,但我不能让它发生..任何人谁会愿意在这一点上,或者甚至指导我通过正确的答案吗?
非常感谢
编辑:添加我的代码两者的ArrayList,我只是缺少比较功能...
使用ArrayList的,有什么建议没有特别的原因,这将使这个过程变得更容易是非常欢迎。
为什么使用ArrayList?你还在使用Fx 1.x吗?你可以使用LINQ吗?例如,请添加更多像真实代码一样的东西。 Docs是一个数组吗?请注意,您有一个_edit_按钮。 –
你有什么特别的理由使用ArrayList? – asawyer
列表是否已排序?给定列表“{1,2,4}”和“{1,2,3,4}”,结果应该是“3”吗?如果列表没有排序,是否认为'{1,2,3}'与'{3,2,1}'相同? –