join 절 결과를 순서대로 정렬
이 예제에서는 조인 작업 결과를 순서대로 정렬하는 방법을 보여 줍니다. 조인 후 순서대로 정렬합니다. 조인 전에 하나 이상의 소스 시퀀스와 함께 orderby 절을 사용할 수도 있지만 일반적으로 권장되지는 않습니다. 일부 LINQ 공급자는 조인 후에 정렬 순서를 유지하지 않을 수도 있습니다.
참고
이 항목의 예제에서는 다음 데이터 클래스를 사용합니다.
record Product(string Name, int CategoryID);
record Category(string Name, int ID);
예제
이 쿼리는 그룹 조인을 만든 후 범위 내에 있는 범주 요소에 따라 그룹을 정렬합니다. 무명 형식 이니셜라이저 내의 하위 쿼리는 제품 시퀀스에서 일치하는 모든 요소를 순서대로 정렬합니다.
List<Category> categories =
[
new(Name: "Beverages", ID: 001),
new("Condiments", 002),
new("Vegetables", 003),
new("Grains", 004),
new("Fruit", 005)
];
List<Product> products =
[
new(Name: "Cola", CategoryID: 001),
new("Tea", 001),
new("Mustard", 002),
new("Pickles", 002),
new("Carrots", 003),
new("Bok Choy", 003),
new("Peaches", 005),
new("Melons", 005),
];
var groupJoinQuery2 =
from category in categories
join prod in products on category.ID equals prod.CategoryID into prodGroup
orderby category.Name
select new
{
Category = category.Name,
Products =
from prod2 in prodGroup
orderby prod2.Name
select prod2
};
foreach (var productGroup in groupJoinQuery2)
{
Console.WriteLine(productGroup.Category);
foreach (var prodItem in productGroup.Products)
{
Console.WriteLine($" {prodItem.Name,-10} {prodItem.CategoryID}");
}
}
/* Output:
Beverages
Cola 1
Tea 1
Condiments
Mustard 2
Pickles 2
Fruit
Melons 5
Peaches 5
Grains
Vegetables
Bok Choy 3
Carrots 3
*/
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET feedback
피드백
다음에 대한 사용자 의견 제출 및 보기