将linq更改为收益率
有没有可能改变这个将linq更改为收益率,linq,foreach,yield-return,Linq,Foreach,Yield Return,有没有可能改变这个 var movies = rawMovies.Movies.Select(m => { var movie = new Movie { Id = m.Id, Title = m.Title, Year = m.Year, MpaaRating = m.MpaaRating, Runtime = m.Runtime, CriticsConsensus = m.Criti
var movies = rawMovies.Movies.Select(m => {
var movie = new Movie {
Id = m.Id,
Title = m.Title,
Year = m.Year,
MpaaRating = m.MpaaRating,
Runtime = m.Runtime,
CriticsConsensus = m.CriticsConsensus,
Synopsis = m.Synopsis,
ReleaseDate = m.ReleaseDates != null ? new ReleaseDate { Dvd = m.ReleaseDates.Dvd, Theater = m.ReleaseDates.Theater } : null,
Rating = m.Ratings != null ? new Rating { AudienceScore = m.Ratings.AudienceScore, CriticsScore = m.Ratings.CriticsScore } : null,
AlternateId = m.AlternateIds != null ? new AlternateId { Imdb = m.AlternateIds.Imdb } : null,
Poster = m.Posters != null ? new Poster { Detailed = m.Posters.Detailed, Original = m.Posters.Original, Profile = m.Posters.Profile, Thumbnail = m.Posters.Thumbnail } : null,
Link = m.Links != null ? new Link { Alternate = m.Links.Alternate, Cast = m.Links.Cast, Clips = m.Links.Clips, Reviews = m.Links.Reviews, Self = m.Links.Self, Similar = m.Links.Similar } : null,
Genres = m.Genres != null ? (HashSet<Genre>)m.Genres.Select(g => new Genre { Name = g }) : new HashSet<Genre>()
};
foreach (var castMember in m.AbridgedCast) {
var person = new Person { Id = castMember.Id, Name = castMember.Name };
if (castMember.Characters != null) {
foreach (string name in castMember.Characters) {
var character = new Character { Name = name, Person = person, Movie = movie };
movie.Characters.Add(character);
}
}
}
return movie;
});
return movies;
var movies=rawMovies.movies.Select(m=>{
var movie=新电影{
Id=m.Id,
Title=m.Title,
年=百万年,
mparating=m.mparating,
运行时=m.运行时,
CriticsConsensus=m.CriticsConsensus,
概要,
ReleaseDate=m.ReleaseDates!=null?新的ReleaseDate{Dvd=m.ReleaseDates.Dvd,Theater=m.ReleaseDates.Theater}:null,
评级=m.Ratings!=null?新评级{AudienceScore=m.Ratings.AudienceScore,CriticsScore=m.Ratings.CriticsScore}:null,
AlternateId=m.AlternateId!=null?新的AlternateId{Imdb=m.AlternateId.Imdb}:null,
Poster=m.Posters!=null?新海报{Detailed=m.Posters.Detailed,Original=m.Posters.Original,Profile=m.Posters.Profile,Thumbnail=m.Posters.Thumbnail}:null,
Link=m.Links!=null?新链接{Alternate=m.Links.Alternate,Cast=m.Links.Cast,Clips=m.Links.Clips,Reviews=m.Links.Reviews,Self=m.Links.Self,Similar=m.Links.Similar}:null,
Genres=m.Genres!=null?(HashSet)m.Genres.Select(g=>new-Genre{Name=g}):new-HashSet()
};
foreach(m.AbridgedCast中的var castMember){
var person=newperson{Id=castMember.Id,Name=castMember.Name};
if(castMember.Characters!=null){
foreach(castMember.Characters中的字符串名称){
var character=新角色{Name=Name,Person=Person,Movie=Movie};
电影。角色。添加(角色);
}
}
}
回归电影;
});
返回电影;
到一个
foreach(var rawmoine in rawmoines.Movies){…}
,使用收益返回
?是。这就是你开始的方式
foreach(var rawMovie in rawMovies.Movies)
{
var m = rawMovie;
var movie = new Movie {
Id = m.Id,
Title = m.Title,
Year = m.Year,
MpaaRating = m.MpaaRating,
Runtime = m.Runtime,
CriticsConsensus = m.CriticsConsensus,
Synopsis = m.Synopsis,
ReleaseDate = m.ReleaseDates != null ? new ReleaseDate { Dvd = m.ReleaseDates.Dvd, Theater = m.ReleaseDates.Theater } : null,
Rating = m.Ratings != null ? new Rating { AudienceScore = m.Ratings.AudienceScore, CriticsScore = m.Ratings.CriticsScore } : null,
AlternateId = m.AlternateIds != null ? new AlternateId { Imdb = m.AlternateIds.Imdb } : null,
Poster = m.Posters != null ? new Poster { Detailed = m.Posters.Detailed, Original = m.Posters.Original, Profile = m.Posters.Profile, Thumbnail = m.Posters.Thumbnail } : null,
Link = m.Links != null ? new Link { Alternate = m.Links.Alternate, Cast = m.Links.Cast, Clips = m.Links.Clips, Reviews = m.Links.Reviews, Self = m.Links.Self, Similar = m.Links.Similar } : null,
Genres = m.Genres != null ? (HashSet<Genre>)m.Genres.Select(g => new Genre { Name = g }) : new HashSet<Genre>()
};
foreach (var castMember in m.AbridgedCast) {
var person = new Person { Id = castMember.Id, Name = castMember.Name };
if (castMember.Characters != null) {
foreach (string name in castMember.Characters) {
var character = new Character { Name = name, Person = person, Movie = movie };
movie.Characters.Add(character);
}
}
}
yield return movie;
}
foreach(rawmoines.Movies中的var rawmoine)
{
var m=rawMovie;
var movie=新电影{
Id=m.Id,
Title=m.Title,
年=百万年,
mparating=m.mparating,
运行时=m.运行时,
CriticsConsensus=m.CriticsConsensus,
概要,
ReleaseDate=m.ReleaseDates!=null?新的ReleaseDate{Dvd=m.ReleaseDates.Dvd,Theater=m.ReleaseDates.Theater}:null,
评级=m.Ratings!=null?新评级{AudienceScore=m.Ratings.AudienceScore,CriticsScore=m.Ratings.CriticsScore}:null,
AlternateId=m.AlternateId!=null?新的AlternateId{Imdb=m.AlternateId.Imdb}:null,
Poster=m.Posters!=null?新海报{Detailed=m.Posters.Detailed,Original=m.Posters.Original,Profile=m.Posters.Profile,Thumbnail=m.Posters.Thumbnail}:null,
Link=m.Links!=null?新链接{Alternate=m.Links.Alternate,Cast=m.Links.Cast,Clips=m.Links.Clips,Reviews=m.Links.Reviews,Self=m.Links.Self,Similar=m.Links.Similar}:null,
Genres=m.Genres!=null?(HashSet)m.Genres.Select(g=>new-Genre{Name=g}):new-HashSet()
};
foreach(m.AbridgedCast中的var castMember){
var person=newperson{Id=castMember.Id,Name=castMember.Name};
if(castMember.Characters!=null){
foreach(castMember.Characters中的字符串名称){
var character=新角色{Name=Name,Person=Person,Movie=Movie};
电影。角色。添加(角色);
}
}
}
回归电影;
}
确保您的方法返回
IEnumerable
,并且您已全部设置好。是。这就是你开始的方式
foreach(var rawMovie in rawMovies.Movies)
{
var m = rawMovie;
var movie = new Movie {
Id = m.Id,
Title = m.Title,
Year = m.Year,
MpaaRating = m.MpaaRating,
Runtime = m.Runtime,
CriticsConsensus = m.CriticsConsensus,
Synopsis = m.Synopsis,
ReleaseDate = m.ReleaseDates != null ? new ReleaseDate { Dvd = m.ReleaseDates.Dvd, Theater = m.ReleaseDates.Theater } : null,
Rating = m.Ratings != null ? new Rating { AudienceScore = m.Ratings.AudienceScore, CriticsScore = m.Ratings.CriticsScore } : null,
AlternateId = m.AlternateIds != null ? new AlternateId { Imdb = m.AlternateIds.Imdb } : null,
Poster = m.Posters != null ? new Poster { Detailed = m.Posters.Detailed, Original = m.Posters.Original, Profile = m.Posters.Profile, Thumbnail = m.Posters.Thumbnail } : null,
Link = m.Links != null ? new Link { Alternate = m.Links.Alternate, Cast = m.Links.Cast, Clips = m.Links.Clips, Reviews = m.Links.Reviews, Self = m.Links.Self, Similar = m.Links.Similar } : null,
Genres = m.Genres != null ? (HashSet<Genre>)m.Genres.Select(g => new Genre { Name = g }) : new HashSet<Genre>()
};
foreach (var castMember in m.AbridgedCast) {
var person = new Person { Id = castMember.Id, Name = castMember.Name };
if (castMember.Characters != null) {
foreach (string name in castMember.Characters) {
var character = new Character { Name = name, Person = person, Movie = movie };
movie.Characters.Add(character);
}
}
}
yield return movie;
}
foreach(rawmoines.Movies中的var rawmoine)
{
var m=rawMovie;
var movie=新电影{
Id=m.Id,
Title=m.Title,
年=百万年,
mparating=m.mparating,
运行时=m.运行时,
CriticsConsensus=m.CriticsConsensus,
概要,
ReleaseDate=m.ReleaseDates!=null?新的ReleaseDate{Dvd=m.ReleaseDates.Dvd,Theater=m.ReleaseDates.Theater}:null,
评级=m.Ratings!=null?新评级{AudienceScore=m.Ratings.AudienceScore,CriticsScore=m.Ratings.CriticsScore}:null,
AlternateId=m.AlternateId!=null?新的AlternateId{Imdb=m.AlternateId.Imdb}:null,
Poster=m.Posters!=null?新海报{Detailed=m.Posters.Detailed,Original=m.Posters.Original,Profile=m.Posters.Profile,Thumbnail=m.Posters.Thumbnail}:null,
Link=m.Links!=null?新链接{Alternate=m.Links.Alternate,Cast=m.Links.Cast,Clips=m.Links.Clips,Reviews=m.Links.Reviews,Self=m.Links.Self,Similar=m.Links.Similar}:null,
Genres=m.Genres!=null?(HashSet)m.Genres.Select(g=>new-Genre{Name=g}):new-HashSet()
};
foreach(m.AbridgedCast中的var castMember){
var person=newperson{Id=castMember.Id,Name=castMember.Name};
if(castMember.Characters!=null){
foreach(castMember.Characters中的字符串名称){
var character=新角色{Name=Name,Person=Person,Movie=Movie};
电影。角色。添加(角色);
}
}
}
回归电影;
}
确保你的方法返回
IEnumerable
并且你已经准备好了。天哪,我现在觉得自己很笨。LOL.我在考虑用某种委托做foreach(){yield return//}
。我真的太复杂了。谢谢你大卫:)天哪,我现在觉得自己很笨。LOL.我在考虑用某种委托做foreach(){yield return//}
。我真的太复杂了。谢谢你,大卫:)