有没有办法查询对象列表,对它们进行分组,然后将它们作为列表列表输出为自己的列表?我不知道如何解释它,所以我会告诉你.
public class Note
{
string CreatorID;
string Title;
string Text;
}
Run Code Online (Sandbox Code Playgroud)
我有一个填充的笔记列表(List<Note> noteList).每个创作者都有多个创作者和多个笔记.我试图弄清楚是否有一种方法使用LINQ查询按照CreatorID对笔记进行分组,然后将它们分开并将它们作为笔记列表列表输出(List<List<Note>> creatorsNotes).通过这种方式,我可以循环创建者注释以获取创建者及其注释列表.
最简单的方法是使用ToLookup:
var groups = noteList.ToLookup(n => n.CreatorID);
foreach(var group in groups)
{
Console.WriteLine("Items with CreatorID {0}", group.Key);
foreach(var item in group)
Console.WriteLine(" Title: {0}", item.Title);
}
Run Code Online (Sandbox Code Playgroud)
GroupBy如果需要,您也可以使用.但请注意,这些不会直接创建List<List<Note>>.如果需要,您可以:
List<List<Note>> grouped = noteList.GroupBy(n => n.CreatorID)
.Select(g => g.ToList())
.ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |