Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/09/2012, 11:32
Avatar de cristiantorres
cristiantorres
 
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 9 meses
Puntos: 61
Respuesta: Buscar y contar elementos repetidos en un list

Lo podes hacer con linq utilizando el operador group by.

Pero vas a necesitar crearte una lista de tipo clase.
Tengo un articulo donde explico como usar el group byAgrupar Datos Linq (GroupBy) C# - VB.Net

En tu caso también tendrias que usar el operador count algo así.
Código c#:
Ver original
  1. public class Color
  2. {
  3.    public string Color{ get; set; }
  4.    public Persona(string col)
  5.    {
  6.        Color = col;
  7.    }
  8. }
  9.  
  10. List<Color> colores = new List<Color>
  11. {
  12.    new Color("Rojo"),
  13.    new Color("Rojo"),
  14.    new Color("Amarillo"),
  15.    new Color("Amarillo")
  16.  
  17. };

Ahi tendrias algunos registros ahora aplicas linq.
Código c#:
Ver original
  1. var query = colores.GroupBy(c => c.Color,
  2.             (numcolor) => new
  3.             {
  4.                     Color = numcolor.Count()
  5.             });

Como veras primero agrupas los datos con groupby y luego usas count para contarlos, no he probado el código lo he puesto sin probarlo pero creo que te tendría que funcionar.
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres