Как я могу использовать LINQ для фильтрации из списка внутри другого списка?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу использовать LINQ для фильтрации из списка внутри другого списка?

Сообщение Anonymous »

Хорошо, это довольно сложно объяснить, но я сделаю все возможное.
У меня есть список, заполненный книгами.
Во всех книгах есть такие переменные, как как «Название», «Год публикации» и «Автор».
Но у них также есть жанры, и именно здесь меня это немного сбивает с толку.
Поскольку каждая книга может иметь более одного жанра, я составил список жанров. сама по себе.
Поэтому каждая книга будет иметь такую ​​структуру.

Код: Выделить всё

Title = "Hello World",
publishYear = 2001,
Genres = ["Horror", "Drama"],
Теперь я хотел бы использовать LINQ для фильтрации по определенному жанру, поэтому, если пользователь, например, захочет отфильтровать после «Ужасы», то будут отображаться только они.
/>Но поскольку они находятся в собственном списке, у меня с ним возникли небольшие проблемы.
Это все, что я понял.
Это быстрое воссоздание задействованных частей моего кода.

Код: Выделить всё

List allBooks = new List();

allBooks.Add(new Book("Hello World", "Tom Burt", 2009, ["Horror", "Romance"] ));
allBooks.Add(new Book("Hello World 2", "Robert Burt", 2004, ["Comedy", "Romance"] ));

var genreBooks = allBooks.Where(x => x.Genres.All(y => y == "Horror")).ToList();
genreBooks.ForEach(book => Console.WriteLine(book.Title));
//Ожидаемый результат
Привет, мир
//Фактический результат
РЕДАКТИРОВАТЬ:
Проблему удалось решить, просто заменив «Все» на «Любой»!
Спасибо за помощь :)

Подробнее здесь: https://stackoverflow.com/questions/791 ... other-list
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»