好的,所以我有两个列表,MasterTagList 和 FoundTagList。主列表预先设置好应该找到哪些标签。找到的列表由阅读器实际找到的标签组成。我要做的是确定 MasterTagList 中不在找到的标签列表中的任何项目,这意味着它们完全不存在。
我曾尝试使用 except() 方法,但由于某种原因,如果项目的顺序不正确,则表示所有项目仍然丢失。
我还尝试了看起来像这样的代码:
List<string> missing = new List<string>();
foreach (string T in MasterTagList)
{
if (!FoundTagList.Contains(T))
{
missing.Add(T);
}
}
我认为缺少的新列表应该显示我在 MasterTagList 中的所有项目,而不是在 FoundTagList 中,无论顺序如何。无论如何,我都不是 C# 方面的专家,所以我可能会错过使用某些东西。
我只想知道是否有一种方法可以修改此代码以使其正常工作,或者是否有任何其他方法可以找到丢失的元素,而不管顺序如何。
提前致谢!
编辑:就像我说的,我已经尝试了我在这里看到的所有其他选项。我的 except() 实例看起来像这样:
List<string> missing = MasterTagList.Except(FoundTagList).ToList;
然而,当我运行程序时,缺失的列表始终与 MasterTagList 相同,尽管 FoundTagList 和 MasterTagList 都包含相同的元素,只是顺序不同。
已解决: 事实证明,我最初向列表中添加内容的方式一定有问题;因此,每个列表中的元素不一定相同。我回去修改了如何将内容添加到列表中,现在我的程序运行良好。感谢所有提出建议的人!