オブジェクトをペアに分割するために使用できるプロパティを持つオブジェクトのリストがあります。各オブジェクトがペアの一部であることを事前に知っています。
状況を説明する例を次に示します。
ペアにまとめたい靴のリストがあります。
私のリストが次のようになっているとしましょう:
List<Shoe> shoes = new List<Shoe>();
shoes.Add(new Shoe { Id = 19, Brand = "Nike", LeftOrRight = LeftOrRight.L });
shoes.Add(new Shoe { Id = 29, Brand = "Nike", LeftOrRight = LeftOrRight.R });
shoes.Add(new Shoe { Id = 11, Brand = "Nike", LeftOrRight = LeftOrRight.L });
shoes.Add(new Shoe { Id = 60, Brand = "Nike", LeftOrRight = LeftOrRight.R });
shoes.Add(new Shoe { Id = 65, Brand = "Asics", LeftOrRight = LeftOrRight.L });
shoes.Add(new Shoe { Id = 82, Brand = "Asics", LeftOrRight = LeftOrRight.R });
次のように、これらの靴をペアで出力したいと思います。
ペア: Id:19、ブランド:Nike、LeftOrRight:L Id:29、ブランド:Nike、LeftOrRight:R ペア: Id:11、ブランド:Nike、LeftOrRight:L Id:60、ブランド:Nike、LeftOrRight:R ペア: Id:65、ブランド:Asics、LeftOrRight:L Id:82、ブランド:Asics、LeftOrRight:R
個々の靴は、単一のペアの一部としてのみ存在できることに注意してください。
靴をグループ化するために次のコードを試しましたが、明らかにペアが欠落しています。
var pairsByBrand = shoes.GroupBy(s => s.Brand);
foreach (var group in pairsByBrand)
{
Console.WriteLine("Pair:");
foreach (var shoe in group)
{
Console.WriteLine(shoe);
}
Console.WriteLine();
}
これらのアイテムをペアにグループ化するために使用できるステートメントは何ですか?