我有一个电影缓存字典,其中键是字符串,值是电影。
Dictionary<string, Movie> movieCache = new Dictionary<string, Movie>();
movieCache.Add(string.Format("{0}:{1}:{2}", newMovie.Year, newMovie.Title, newMovie.Genre), newMovie);
我有另一个名单说乔的最喜欢的电影列表。例如
List<IMDBMovie> joesFavMovie // some list;
我需要显示两个列表。 一:来自joesFavMovie中缓存的电影,并匹配年份,标题和流派。 二:来自joesFavMovie缓存中的电影并匹配年份,标题。
我能够从缓存中显示第一个列表。但是,我从现有字典创建另一个字典缓存以显示第二个列表。 有没有办法为这两个列表使用相同的缓存。我不确定外卡是否是最佳解决方案。
提前致谢。 标题可能不合适。如果需要更改,请建议。
答案 0 :(得分:1)
您可以使用LINQ。
List<Movie> movies =
movieCache.Where(m => m.Value.Year == 1975 && m.Value.Title == "Jaws")
.ToList();
答案 1 :(得分:0)
var list2 = movieCache.Where(
m => joesFavMovie.Any(fm => fm.Year == m.Value.Year &&
fm.Title == m.Value.Title)).ToList();