MovieDTO オブジェクトのすべてのコレクションと、ユーザーのお気に入りの映画の MovieDTO のコレクションがあります。
特定のアイテムがユーザーのお気に入りに存在する場合、すべてのムービー コレクションの各オブジェクトにブール フラグ Selected =true を追加したいと考えています。
2 つの for-each ループを記述する代わりに、ラムダ式または Func または何らかの方法でそれを実行したいと考えています。
public class Movie{
public string Name{get;set;}
public DateTime ReleaseDate{get;set;}
public string Director {get;set;}
public int Id{get;set;}
//more property
}
//This class is mainly used to highlight the favourite movie in UI
public class MovieDTO{
public string MovieName{get;set;}
public boolean Selected{get;set;}
public int Id{get;set;}
}
List<Movie> AllMovies = MyService.AllMovies();
List<MovieDTO> UserFavouriteMovie = MyService.GetUserMovies();
List<MovieDTO> allMovieDTO = AllMovies.Select(x => new MovieDTO
{
Name=x.Name,
//Selected=true/false => here i want
// to check if x is exist in UserFavouriteMovie collection
}).ToList();
ここでループごとに 2 つを使用しない提案はありますか?