public static IList <KeyValuePair <Rua, int> > GetRuaOrdenadaPeloTotalEleitores(IList <Casa> casas) { IDictionary <Rua, int> mapRuaTotalEleitores = new Dictionary <Rua, int>(); foreach (var casa in casas) { Rua rua = casa.Rua; if (mapRuaTotalEleitores.TryGetValue(rua, out int eleitores)) { mapRuaTotalEleitores[rua] = eleitores + casa.TotalEleitores; } else { mapRuaTotalEleitores.Add(rua, casa.TotalEleitores); } } return((from entidade in mapRuaTotalEleitores orderby entidade.Value descending select entidade).ToList()); }
public Casa(Rua rua, int numero, int totalEleitores) { Rua = rua; Numero = numero; TotalEleitores = totalEleitores; }
public bool Equals(Rua other) => Cep == other.Cep && Nome == other.Nome;