У меня есть модель:удаления элементов из списка, которые существуют в другом списке на основе элемента ID
public class Post
{
public int PostId { get; set; }
public string Description { get; set; }
}
У меня есть два списка:
List<Post> posts
List<Post> exceptions
Я хочу, чтобы удалить все элементы в «сообщениях "что имеет совпадающие сообщения дан из пункта в„исключении“
Я пробовал:
foreach (var post in posts)
{
if (exceptions.Where(x => x.PostId == post.PostId) != null)
{
posts.RemoveAll(x => x.PostId == post.PostId);
}
}
, но я уверен, что есть более чистый способ сделать это.
Спасибо!
'exceptions.Where (х => x.PostId == post.PostId) = null' - это всегда будет оценивать значение 'true', поскольку [' Where'] (https://msdn.microsoft.com/en-us/library/vstudio/bb534803%28v=vs.100%29.aspx) никогда не вернется 'null' (возможно, пустая перечисление). –