Ho un file di testo che assomiglia a questo:C# algoritmo per la generazione gerarchia
{ Id = 1, ParentId = 0, Position = 0, Title = "root" }
{ Id = 2, ParentId = 1, Position = 0, Title = "child 1" }
{ Id = 3, ParentId = 1, Position = 1, Title = "child 2" }
{ Id = 4, ParentId = 1, Position = 2, Title = "child 3" }
{ Id = 5, ParentId = 4, Position = 0, Title = "grandchild 1" }
Sto cercando un algoritmo generico C# che creerà una gerarchia di oggetti da questo. Una funzione "Gerarchizza", se lo desideri, trasforma questi dati in una gerarchia di oggetti.
Qualche idea?
modificare Ho già analizzato il file in oggetti .NET:
class Node
{
public int Id { get; }
public int ParentId { get; }
public int Position { get; }
public string Title { get; }
}
Ora ho bisogno di organizzare in realtà gli oggetti in un oggetto grafico.
Avete già il codice che gestisce l'analisi di questo file di testo? – pbz
Non vedo cosa rende l'oggetto {Id = 5 ...} un nipote. Un nipote dovrebbe avere uno dei figli come genitore, ma ha lo stesso genitore di tutti gli altri bambini. Non dovrebbe il suo ParentId essere 2, 3 o 4? Non sono nemmeno chiaro su cosa è necessario "Posizione" per. Forse si riferisce all'ordinamento dei bambini nella moda da sinistra a destra, e devi specificarlo esplicitamente? – AHelps
Suppongo che la proprietà position ordini i figli di ciascun genitore. – mquander