using System.Collections.Generic;
List<Personagem> personagens = new List<Personagem>
new Personagem { Nome = "Carlos", EhHomem = true, UsaChapeu = true },
new Personagem { Nome = "Ana", EhHomem = false, UsaChapeu = false },
new Personagem { Nome = "Jorge", EhHomem = true, UsaChapeu = false },
new Personagem { Nome = "Maria", EhHomem = false, UsaChapeu = true }
personagens = EliminarPorPergunta(personagens, "é homem?", true);
personagens = EliminarPorPergunta(personagens, "usa chapéu?", false);
if (personagens.Count == 1)
Console.WriteLine($"O personagem é: {personagens[0].Nome}");
Console.WriteLine("Ainda existem múltiplas possibilidades.");
static List<Personagem> EliminarPorPergunta(List<Personagem> personagens, string pergunta, bool resposta)
return pergunta == "é homem?"
? personagens.Where(p => p.EhHomem == resposta).ToList()
: personagens.Where(p => p.UsaChapeu == resposta).ToList();
public string Nome { get; set; }
public bool EhHomem { get; set; }
public bool UsaChapeu { get; set; }