我有2個列表,我想刪除第一個列表中的項目不存在於第二個列表中的項目。如何比較2個列表值?
public class ResolutionsRow
{
public String Name { get; set; }
public int ID { get; set; }
}
public List<ResolutionsRow> Categories { get; set; }
在以下Category.LoadForProject(project.ID)返回一個IList
DeleteItems(Category.LoadForProject(project.ID), Categories);
private void DeleteItems(dynamic currentItems, dynamic items)
{
if (currentItems != null)
{
foreach (var existingItem in currentItems)
{
if (items.Contains(existingItem.Name))
items.Remove(existingItem.Name);
}
}
}
我有錯誤消息
的最好的overlo 'System.Collections.Generic.List.Contains(MvcUI.Models.ResolutionsRow)'的匹配方法有一些無效的參數。我的代碼出了什麼問題,我該如何糾正它?請幫助。
我試圖改變代碼,但是我有錯誤消息
錯誤6參數1:不能從「INT」轉換爲API.Category」 MvcUI \模型\ ProjectModel。 CS 255 44 MvcUI 錯誤5的最好重載方法匹配 'System.Collections.Generic.ICollection.Contains(API.Category)' 具有一些無效參數MvcUI \模型\ ProjectModel.cs 255 24 MvcUI
var categories = Category.LoadForProject(project.ID);
foreach (var item in Categories)
{
if(categories.Contains(item.ID))
{
}
}
它在達到這部分代碼之前失敗。 – learning 2010-07-13 11:54:18
我仍然有錯誤消息 'System.Collections.Generic.List .Contains(MvcUI.Models.ResolutionsRow)'的最佳重載方法匹配有一些無效參數 –
learning
2010-07-13 11:59:08
在最後代碼示例在你編輯的答案中,將if(categories.Contains(item.ID))'改爲'if(categories.Contains(item))'。其他人發佈的基於LINQ的選項可能是更好的選擇,順便說一句。你有使用LINQ的問題嗎? – 2010-07-13 13:58:18