我有两个班级MoviesListRootObject
和Response
。 MoviesListRootObject
我想要访问Response
的ID,标题和说明,并将其分配给var。
List<Response>
现在我能想到编写LINQ来获取包含响应的MovieDetails对象但是没有用。
public class MoviesListRootObject
{
public int count { get; set; }
public Pagination pagination { get; set; }
public List<Response> response { get; set; }
}
[Serializable]
public class Response
{
public int id { get; set; }
public string title { get; set; }
public string title_language { get; set; }
public string description { get; set; }
public string description_language { get; set; }
}
答案 0 :(得分:5)
你想要实现的目标并不是很清楚。我的回答假设您只想在所有MoviesListRootObject中使用所有响应的属性:
var result = rootObj.SelectMany(x => x.response)
.Select(x => new { x.id, x.title, x.description });
你甚至不需要匿名课程:
var result = rootObj.SelectMany(x => x.response);
// result will be of type IEnumerable<Response>
答案 1 :(得分:2)
var movieResponse = rootObj
.SelectMany(m => m.response)
.Select(m => new {
id = m.id, // or just m.id, as name is the same
title = m.title, //idem
description = m.description //idem
});
答案 2 :(得分:1)
您是在询问SelectMany
吗?
var allResponses = rootObj.SelectMany(d => d.Response);
将为Response
中的所有电影提供rootObj
的全部内容。
如果rootObj
实际上是MoviesListRootObject
的实例,则您不需要SelectMany
,
var responses = rootObj.response;
会做的。