我有一个列表,其中包含本书的属性,例如章节名称和部件名称。这些是动态的,可能会有所不同。
List<TOCModel> li = new List<TOCModel>();
TOCModel类包含
public class TOCModel
{
public string Header { get; set; }
public string Part { get; set; }
}
从这个列表中,我需要在前端创建单独的
Part 1
Chapter 1
Chapter 2
Chapter 3
Part 2
...
...
... and so on.
由于列表是动态的,我甚至可以获得10个以上的部分,因此无法使用if或for循环。谁能说出如何实现这一目标呢?
答案 0 :(得分:3)
使用LINQ可以轻松完成。请参阅以下代码片段,了解如何在控制台上输出分组章节,但是 - 当然 - 您不会被限制在那个
var groupedTocs = li.GroupBy(toc => toc.Part);
foreach(var part in groupedTocs)
{
Console.WriteLine(part.Key);
foreach(var chapter in part)
{
Console.WriteLine($"\t{chapter.Header}");
}
}