using System.Collections.Generic;
public static void Main()
Console.WriteLine("Lista Original:");
List<Entidade> entidades = new List<Entidade>();
entidades.Add(new Entidade(){ Id =1, Nome = "Teste 1", Avaliacao = Avaliacoes.Ruim });
entidades.Add(new Entidade(){ Id =2, Nome = "Teste 2", Avaliacao = Avaliacoes.Pessimo });
entidades.Add(new Entidade(){ Id =3, Nome = "Teste 3", Avaliacao = Avaliacoes.Regular });
entidades.Add(new Entidade(){ Id =4, Nome = "Teste 4", Avaliacao = Avaliacoes.Bom });
entidades.Add(new Entidade(){ Id =5, Nome = "Teste 5", Avaliacao = Avaliacoes.Ruim });
entidades.Add(new Entidade(){ Id =6, Nome = "Teste 6", Avaliacao = Avaliacoes.Regular });
entidades.Add(new Entidade(){ Id =7, Nome = "Teste 7", Avaliacao = Avaliacoes.Ruim });
entidades.Add(new Entidade(){ Id =8, Nome = "Teste 8", Avaliacao = Avaliacoes.Bom });
entidades.Add(new Entidade(){ Id =9, Nome = "Teste 9", Avaliacao = Avaliacoes.Ruim });
entidades.Add(new Entidade(){ Id =10, Nome = "Teste 10", Avaliacao = Avaliacoes.Ruim });
entidades.Add(new Entidade(){ Id =11, Nome = "Teste 11", Avaliacao = Avaliacoes.Bom });
entidades.Add(new Entidade(){ Id =12, Nome = "Teste 12", Avaliacao = Avaliacoes.Excelente });
entidades.Add(new Entidade(){ Id =13, Nome = "Teste 13", Avaliacao = Avaliacoes.Excelente });
entidades.ForEach(x => Console.WriteLine(x.Nome + " / " + x.Avaliacao));
entidades = entidades.OrderBy(x => x.Avaliacao).ToList();
Console.WriteLine("----------------------------------------------");
Console.WriteLine("Lista Ordenada:");
entidades.ForEach(x => Console.WriteLine(x.Nome + " / " + x.Avaliacao));
public string Nome {get;set;}
public Avaliacoes Avaliacao {get;set;}