我有一个“ActiveNodes”项目列表。每个项目都属于一个“层”,因此有一个 tierID。TierID 不是唯一的。我想要做的是按层循环所有项目,然后是层内的每个项目。这就是我接近它的方式,但考虑到 linq 的灵活性,我想知道是否有更好的方法。
var tiers = ActiveNodes.Select(x => x.TierID).Distinct();
foreach (var t in tiers)
{
var nodes = ActiveNodes.Where(x => x.TierID == t);
foreach(var n in nodes)
{
// do something
}
}