using System.Collections.Generic;
public static void Main()
IList<Pessoa> Pessoas = new List<Pessoa>();
IList<Carro> Carros = new List<Carro>();
Pessoa p1 = new Pessoa(){Nome = "Alex Pinheiro das Graças", DataNascimento = new DateTime(1983,12,15)};
Pessoa p2 = new Pessoa(){Nome = "Romero Pinheiro das Graças", DataNascimento = new DateTime(1983,12,15)};
Pessoa p3 = new Pessoa(){Nome = "Júlio Augusto das Graças", DataNascimento = new DateTime(1983,12,15)};
Pessoa p4 = new Pessoa(){Nome = "Maria Ana Pinheiro das Graças", DataNascimento = new DateTime(1983,12,15)};
Pessoa p5 = new Pessoa(){Nome = "Janice Alves Pinheiro", DataNascimento = new DateTime(1983,12,15)};
Pessoa p6 = new Pessoa(){Nome = "Mario Souza Alves", DataNascimento = new DateTime(1983,12,15)};
Pessoa p7 = new Pessoa(){Nome = "Ariana Silva Alves", DataNascimento = new DateTime(1983,12,15)};
Carro c1 = new Carro(){Placa = "AAA-1515", Motorista = p1};
Carro c2 = new Carro(){Placa = "ABB-1515", Motorista = p2};
Carro c3 = new Carro(){Placa = "ACC-1515", Motorista = p2};
Carro c4 = new Carro(){Placa = "ADD-1515", Motorista = p3};
Carro c5 = new Carro(){Placa = "DYA-1515", Motorista = p4};
Carro c6 = new Carro(){Placa = "DJB-1515", Motorista = p5};
Carro c7 = new Carro(){Placa = "EVC-1515", Motorista = p5};
Carro c8 = new Carro(){Placa = "VED-1515", Motorista = p7};
var PessoasComCarro = Carros.Select(c => c.Motorista).Distinct().ToList();
var PessoasComCarroFlt = from item in Carros select item.Motorista;
var PessoasComPinheiroInt = Pessoas.Where(p => p.Nome.Contains("Pinheiro")).Select(p=> p).ToList().Count;
var PessoasComPinheiroIntFlt = (from item in Pessoas where item.Nome.Contains("Pinheiro") select item).Count();
var CarrosPorPessoa = Carros.GroupBy(c => c.Motorista)
new {Nome=i.Key.Nome, Quantidade=i.ToList().Count()}
foreach (var item in CarrosPorPessoa){
System.Console.WriteLine(item.Nome + " " + item.Quantidade);
public String Nome{get;set;}
public DateTime DataNascimento {get;set;}
public String Placa{get;set;}
public Pessoa Motorista{get;set;}