在 C# 中对字典中的键使用通配符
本文关键字:通配符 字典 | 更新日期: 2023-09-27 18:35:03
>我有一个电影缓存字典,其中键是字符串,值是电影。
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中,并与年份,标题匹配。
我能够显示缓存中的第一个列表。但是,我正在从现有字典创建另一个字典缓存以显示第二个列表。有没有办法对两个列表使用相同的缓存。我不确定通配符是否是最佳解决方案。
提前谢谢。标题可能不合适。请建议是否需要更改。
你可以使用 LINQ 来实现此目的。
List<Movie> movies =
movieCache.Where(m => m.Value.Year == 1975 && m.Value.Title == "Jaws")
.ToList();
var list2 = movieCache.Where(
m => joesFavMovie.Any(fm => fm.Year == m.Value.Year &&
fm.Title == m.Value.Title)).ToList();