使用 Lambda 绑定嵌套列表 (C#)
我有一段代码正在尝试转换为 lambda -
foreach (var facet in response.Result.Facets)
{
var newFacet = new Facet {Parent = facet.Title};
foreach (var element in facet.Subelements)
{
newFacet.Items.Add(new Facet
{
Title = element.Title,
TotalResults = element.TotalResults
});
}
searchModel.Facets.Add(newFacet);
}
这是我到目前为止所拥有的代码 -
response.Result.Facets.ForEach(x => searchModel.Facets.Add(new Facet
{
Parent = x.Title,
Items = ???//x.Subelements.ForEach(y=>)
}));
以及类 -
public class Facet
{
public Facet()
{
Items = new List<Facet>();
}
public string Parent { get; set; }
public List<Facet> Items { get; set; }
public int TotalResults { get; set; }
public string Title { get; set; }
}
public class SearchElement
{
public string Parent { get; set; }
public string Title { get; set; }
public int TotalResults { get; set; }
public IList<ESearchElement> Subelements { get; set; }
}
如何将 List
绑定到 List
通过将每个元素 (title = y.Title..) 映射到 lambda 表达式中的一行中?是否可以?
I have this piece of code that I'm trying to convert to lambda -
foreach (var facet in response.Result.Facets)
{
var newFacet = new Facet {Parent = facet.Title};
foreach (var element in facet.Subelements)
{
newFacet.Items.Add(new Facet
{
Title = element.Title,
TotalResults = element.TotalResults
});
}
searchModel.Facets.Add(newFacet);
}
Here's what I have so far -
response.Result.Facets.ForEach(x => searchModel.Facets.Add(new Facet
{
Parent = x.Title,
Items = ???//x.Subelements.ForEach(y=>)
}));
And the classes -
public class Facet
{
public Facet()
{
Items = new List<Facet>();
}
public string Parent { get; set; }
public List<Facet> Items { get; set; }
public int TotalResults { get; set; }
public string Title { get; set; }
}
public class SearchElement
{
public string Parent { get; set; }
public string Title { get; set; }
public int TotalResults { get; set; }
public IList<ESearchElement> Subelements { get; set; }
}
How do I bind List<SearchElement>
to List<Items>
by mapping each element (title = y.Title..) all in one line within a lambda expression? Is it possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试这样的操作:
编辑:评论中每个请求的 Lambda 版本。
与 LINQ 非常相似。这就是你所追求的吗?
Try something like this:
EDIT: Lambda version per request in comment.
Much the same as with LINQ. Is this what you were after?