我有2个ArrayList,其中包含文件名,现在一个列表有更多的名称和其他可能有更少的名称,或在某些时候相等,我想列出在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数组列表。
非常感谢,这工作就像一个魅力,但正如我在LINQ位毫不我,你能帮助我与正常的如果你不介意的话,实现这个循环的概念。我无法形成逻辑 – Abbas 2013-04-29 04:25:00
伟大..非常简单和干净的方法,我很感激你。你能告诉我什么是“收益回报项目”吗?呢? – Abbas 2013-04-29 04:39:25
有一个错误。我删除了代码。如果较小的列表有一些独特的项目,这将不起作用。我会在完成我目前的工作后写下代码:p – mshsayem 2013-04-29 04:42:14