我正在尝试使用lambda表达式创建一个KeyValue对集合。
这是我的课程,下面是我的lambda代码。我未能创建KeyValuePair。
我想要一组KeyValuePair of Id,IsReleased,用于喜剧电影。我把这些KeyValuePair放在HashSet中,以便快速搜索。
public class Movie{
public string Name{get;set;}
public int Id{get;set;}
public bool IsReleased{get;set;}
//etc
}
List<Movie> movieCollection=//getting from BL
var movieIdReleased= new
HashSet<KeyValuePair<int,bool>>(movieCollection.Where(mov=> mov.Type== "comedy")
.Select(new KeyValuePair<int,bool>(????));发布于 2013-01-24 15:00:16
您应该将lambda传递给那个.Select方法,而不仅仅是表达式:
.Select(movie => new KeyValuePair<int,bool>(movie.Id, movie.IsReleased))希望这能帮上忙!
发布于 2013-01-24 15:00:34
//.Select(new KeyValuePair<int,bool>(????));
.Select(movie => new KeyValuePair<int,bool>()
{ Key = movie.Id, Value = movie.IsReleased} );发布于 2013-01-24 15:03:10
var comedyMovies = movieCollection
.Where(mc => "comedy".Equals(mc.Type, StringComparison.OrdinalIgnoreCase))
.Select(mc => new KeyValuePair<int, bool>(mc.Id, mc.IsReleased));
var distinctComedyMovies = new HashSet<KeyValuePair<int,bool>>(comedyMovies);https://stackoverflow.com/questions/14504264
复制相似问题