public class StandardTrackingOutput
{
public string MainCommitee { get; set; }
public List<SubCommittees> SubCommittees { get; set; }
}
public class SubCommittees
{
public string FormattedCommittee { get; set; }
public string CommitteeTitle { get; set; }
}
我想代表MainCommittee从具有MainCommittee,FormattedCommittee和CommitteeTitle列的列表中生成StandardTrackingOutput。
我有以下数据:[在此处输入图片描述] [1]
主要委员会格式化的委员会名称 ABC ABC数据1 ABC ABC.01数据2 ABC ABC.02数据3 ABC ABC.03数据4 XYZ XYZ数据20 XYZ XYZ.09数据16 XYZ XYZ.08数据5
我想返回StandardTrackingOutput列表
预先感谢您的帮助
答案 0 :(得分:1)
您应该groupBy
"offers": {
"@type": "Offer",
"price": "{{ product.price_max | divided_by: 100 }}",
"priceCurrency": "{{ shop.currency }}",
"url": {{ product.url | append: page.url | json }},
{%- if product.available -%}
"availability": "https://schema.org/InStock",
{%- else -%}
"availability": "https://schema.org/OutOfStock",
{%- endif -%}
"itemcondition": "https://schema.org/NewCondition",
"installment": {
"months":"12",
"amount ":"{{ product.price | money_with_currency }}"
},
},
并建立预期的结果:
MainCommitee
答案 1 :(得分:0)
基本上,您正在执行GroupBy:
void Main()
{
var myData = new List<MyData> {
new MyData{ MainCommitee="ABC", FormattedCommittee="ABC", CommitteeTitle="Data1" },
new MyData{ MainCommitee="ABC", FormattedCommittee="ABC.01", CommitteeTitle="Data2" },
new MyData{ MainCommitee="ABC", FormattedCommittee="ABC.02", CommitteeTitle="Data3" },
new MyData{ MainCommitee="ABC", FormattedCommittee="ABC.03", CommitteeTitle="Data4" },
new MyData{ MainCommitee="XYZ", FormattedCommittee="XYZ", CommitteeTitle="Data20" },
new MyData{ MainCommitee="XYZ", FormattedCommittee="XYZ.09", CommitteeTitle="Data16" },
new MyData{ MainCommitee="XYZ", FormattedCommittee="XYZ.08", CommitteeTitle="Data5" },
};
var result = myData.GroupBy(d => d.MainCommitee)
.Select(d => new StandardTrackingOutput
{
MainCommitee = d.Key,
SubCommittees = d.Select(s =>
new SubCommittees
{
FormattedCommittee = s.FormattedCommittee,
CommitteeTitle = s.CommitteeTitle
})
.ToList()
});
// if you have LinqPad (why not)
// result.Dump();
}
public class StandardTrackingOutput
{
public string MainCommitee { get; set; }
public List<SubCommittees> SubCommittees { get; set; }
}
public class SubCommittees
{
public string FormattedCommittee { get; set; }
public string CommitteeTitle { get; set; }
}
public class MyData
{
public string MainCommitee { get; set; }
public string FormattedCommittee { get; set; }
public string CommitteeTitle { get; set; }
}