How do I sort a complex list? Home
I have this list below and I need to sort by TypeName and TypeName :
public class Tipo()
{
public int IdTipo {get; set;}
public string NomeTipo {get; set;}
public List<SubTipo> NomeSubTipo {get; set;}
}
public class SubTipo()
{
public int IdTipo {get; set;}
public int IdSubTipo {get; set;}
public string NomeSubTipo {get; set;}
}
List<Tipo> ListaTipo = new List<Tipo>();
ListaTipo[0].NomeTipo = "LISTA XYZ"
ListaSubTipo[0].NomeSubTipo = "B"
ListaSubTipo[1].NomeSubTipo = "A"
ListaSubTipo[2].NomeSubTipo = "C"
ListaTipo[1].NomeTipo = "LISTA BLA BLA"
ListaSubTipo[0].NomeSubTipo = "B"
ListaSubTipo[1].NomeSubTipo = "C"
ListaSubTipo[2].NomeSubTipo = "A"
ListaTipo[2].NomeTipo = "LISTA TATATA"
ListaSubTipo[0].NomeSubTipo = "C"
ListaSubTipo[1].NomeSubTipo = "B"
ListaSubTipo[2].NomeSubTipo = "A"
List<Tipo> lreturn = new List<Tipo>();
lreturn = ListaTipo;
lreturn.OrderBy(x => x.NomeTipo).OrderBy(x => x.ListaSubTipo.OrderBy(m => m.NomeSubTipo)).ToList();
The following error occurs:
At least one object must implement IComparable.