我有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