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 ステートメントを使用して、同時にグループ化とシーケンスの両方を行うことは可能ですか?