こんにちは私は次の情報を含むdataTableを持っています:
A1 B1 C1 A1 B1 C2 A1 B2 C3 A1 B2 C4 A2 B1 C5 A2 B1 C6 A2 B3 C7
拡張メソッド(SelectおよびGroupBy)を使用して階層を取得する必要があります。
このようなもの。
A1 | _ B1 | | _ C1 | | _ C2 | | _ B2 | | _ C3 | _ C4 A2 | _ B1 | | _ C5 | | _ C6 | | _ B3 | _ C7
こんにちは私は次の情報を含むdataTableを持っています:
A1 B1 C1 A1 B1 C2 A1 B2 C3 A1 B2 C4 A2 B1 C5 A2 B1 C6 A2 B3 C7
拡張メソッド(SelectおよびGroupBy)を使用して階層を取得する必要があります。
このようなもの。
A1 | _ B1 | | _ C1 | | _ C2 | | _ B2 | | _ C3 | _ C4 A2 | _ B1 | | _ C5 | | _ C6 | | _ B3 | _ C7
public class Node
{
public string Value { get; set; }
public IEnumerable<Node> Children { get; set; }
}
public IEnumerable<Node> BuildHierarchy(IEnumerable<Entry> entries)
{
return entries.GroupBy(entry => entry.A)
.Select(grouping =>
new Node
{
Value = grouping.Key,
Children = grouping.GroupBy(entry => entry.B)
.Select(grouping2 =>
new Node
{
Value = grouping2.Key,
Children = grouping2.Select(entry =>
new Node { Value = entry.C }
)
}
)
}
);
}