using System.Collections.Generic;
using System.Globalization;
public static IEnumerable<T> VerificarItensRepetidos<T>(IEnumerable<T> listString)
List<object> duplicateKeys = new List<object>();
List<object> notDuplicateKeys = new List<object>();
foreach (var text in listString)
if (notDuplicateKeys.Contains(text))
notDuplicateKeys.Add(text);
return duplicateKeys.Cast<T>();
public static void Main()
List<Pessoa> listaPessoas = new List<Pessoa>();
listaPessoas.Add(new Pessoa{
DataNascimento = DateTime.ParseExact("23/03/2000", "dd/MM/yyyy", CultureInfo.InvariantCulture)
listaPessoas.Add(new Pessoa{
DataNascimento = DateTime.ParseExact("05/09/1997", "dd/MM/yyyy", CultureInfo.InvariantCulture)
listaPessoas.Add(new Pessoa{
DataNascimento = DateTime.ParseExact("23/03/2000", "dd/MM/yyyy", CultureInfo.InvariantCulture)
listaPessoas.Add(new Pessoa{
DataNascimento = DateTime.ParseExact("11/07/1990", "dd/MM/yyyy", CultureInfo.InvariantCulture)
listaPessoas.Add(new Pessoa{
DataNascimento = DateTime.ParseExact("23/03/2000", "dd/MM/yyyy", CultureInfo.InvariantCulture)
listaPessoas.Add(new Pessoa{
DataNascimento = DateTime.ParseExact("11/07/1990", "dd/MM/yyyy", CultureInfo.InvariantCulture)
Console.WriteLine("Todas as pessoas da lista: ");
foreach(var pessoa in listaPessoas)
Console.WriteLine(string.Format("id: {0}, Nome: {1}, Data Nascimento: {2}", pessoa.Id, pessoa.Nome, pessoa.DataNascimento.ToShortDateString()));
var nascimentosRepetidos = VerificarItensRepetidos(listaPessoas.Select(d => d.DataNascimento).ToList());
foreach(var data in nascimentosRepetidos.Distinct())
var pessoasMesmoGrupoDataNasc = listaPessoas.Where(d => d.DataNascimento == data).ToList();
Console.WriteLine(string.Format("Pessoas do grupo de data {0}", data.ToShortDateString()));
foreach(var pessoa in pessoasMesmoGrupoDataNasc)
Console.WriteLine(string.Format("id: {0}, Nome: {1}, Data Nascimento: {2}", pessoa.Id, pessoa.Nome, pessoa.DataNascimento.ToShortDateString()));
public int Id { get; set; }
public string Nome { get; set; }
public DateTime DataNascimento { get; set; }