我有 2 个 ArrayList,其中包含文件名,现在一个列表有更多名称,而另一个列表可能有更少,或者有时相等,我想列出两个 ArrayList 中不常见的文件名并相应地更新数据库,我能够检查它们是否相等,但我无法列出哪个列表有额外的元素,哪些是它们。
这是我目前正在使用的代码。
ArrayList DatabaseSavedThumbnail = objSlideShow.GetAllThumbnailBySlideShowId();
string[] FolderSavedThumbnail = Directory.GetFiles(Server.MapPath("~/Portals/2/SlideShowThumbnails/" + SlideShowName));
if (Directory.GetFiles(Server.MapPath("~/Portals/2/SlideShowThumbnails/" + SlideShowName)).Length > 0)
{
if (!Object.Equals(DatabaseSavedThumbnail, FolderSavedThumbnail))
{
for (int i = 0; i < DatabaseSavedThumbnail.Count && i < FolderSavedThumbnail.Length; i++)
{
if (!object.Equals(DatabaseSavedThumbnail[i], FolderSavedThumbnail[i]))
{
if (DatabaseSavedThumbnail.Count > FolderSavedThumbnail.Length)
{
objSlideShow.Thumbnail = "/Portals/2/SlideShowThumbnails/" + SlideShowName + "/" + Path.GetFileName(DatabaseSavedThumbnail[i].ToString());
}
else
{
objSlideShow.Thumbnail = "/Portals/2/SlideShowThumbnails/" + SlideShowName + "/" + Path.GetFileName(FolderSavedThumbnail[i].ToString());
}
}
Response.Write(objSlideShow.Thumbnail + "<br>");
/*objSlideShow.SlideTitle = String.Empty;
objSlideShow.SlideDescription = string.Empty;
objSlideShow.AddSlide();*/
}
}
}
但是这个列出了arraylist的所有元素,它有更多的元素,我只想要差分元素,这样我就可以只用这些元素更新数据库。
谁能告诉我如何获得比较 2 个数组列表的差异记录。