Q:
У меня есть список таких объектов:
List<object> entities = GetallEntities();
Первый объект в предыдущем списке: List<Books>.
List<Books>
Теперь я хочу получить все книги, которые id
id
существуют в следующем списке:
List<string> BookIds = new List<string>();
public class Book { public string id { get; set; } }
...
List<object> entities = new List<object> { new Book { id = "1" }, new Book { id = "2" } }; List<string> bookIds = new List<string> { "2" }; IEnumerable<object> books = entities.Where(e => e is Book && bookIds.Contains(((Book)e).id));
Предполагая, что ваш класс Books имеет свойство Id, а один экземпляр представляет одну книгу:
Books
Id
// Get the first element of your entity-list which is of type `List<Books>` List<Books> bookList = entities.OfType<List<Books>>().First(); List<string> BookIds = new List<string>(); // fill your id list here ... // filter your books by the list of ids IEnumerable<Books> filteredBooks = bookList.Where(b => BookIds.Any(id => id == b.Id);