LINQ 단순성을 통한 데이터 피벗
데이터를 보다 사용자 친화적인 형식으로 변환해야 하는 경우가 많습니다. 일반적인 접근 방식은 피벗(pivoting)으로, 데이터를 재구성하여 그리드와 같은 방식으로 표시합니다. Enum 및 User 개체가 포함된 항목 컬렉션이 있다고 상상해 보세요. 그리드로 시각화하려면 평면화해야 합니다.
LINQ는 이러한 시나리오에 적합한 솔루션을 제공합니다. 먼저 Enum 값을 기준으로 데이터를 그룹화하여 효과적으로 열을 생성해 보겠습니다.
var grps = from d in data group d by d.Foo into grp select new { Foo = grp.Key, Bars = grp.Select(d2 => d2.Bar).ToArray() };
다음으로 열의 최대 항목 수를 기준으로 총 행 수를 결정합니다.
int rows = grps.Max(grp => grp.Bars.Length);
마지막으로 열과 행을 반복하여 원하는 출력을 구성합니다.
foreach (var grp in grps) { Console.Write(grp.Foo + "\t"); } Console.WriteLine(); for (int i = 0; i < rows; i++) { foreach (var grp in grps) { Console.Write((i < grp.Bars.Length ? grp.Bars[i] : null) + "\t"); } Console.WriteLine(); }
이 LINQ 기반 접근 방식은 데이터를 간결하고 효율적으로 피벗하는 방법을 제공하여 보다 체계적이고 유익한 방식으로 쉽게 표시할 수 있습니다.
위 내용은 LINQ는 향상된 가독성을 위해 데이터 피벗을 어떻게 단순화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!