使用 Asp.Net 4.0/C#
我有一个项目清单。该列表包含重复项。
这是项目类:
public class PingtreeNode
{
public int TierId { get; set; }
public int LenderId { get; set; }
public int Weight { get; set; }
public int Seq { get; set; }
public PingtreeNode(int tierId, int lenderId, int weight, int seq)
{
TierId = tierId;
LenderId = lenderId;
Weight = weight;
Seq = seq;
}
}
在第一个实例中,我想为每个 LenderId 选择第一个项目。我使用这个 linq 这样做:
var tierNodes = new List<PingtreeNode>();
tierNodes = tierNodes.GroupBy(x => x.LenderId).Select(x => x.First()).ToList();
但是,我还想在列表中添加一个序列,从 1、2、3 等开始。我目前通过这样的循环单独执行此操作:
int seq = 1;
foreach (var t in tierNodes)
{
t.Seq = seq;
seq++;
}
是否可以使用单个 linq 语句同时进行分组和排序?