tengo una lista de elementosCómo contar duplicados en la lista con LINQ
- John Identificación
- Matt Identificación
- John Identificación
- de Scott Identificación
- Matt Identificación
- John ID
- Lucas ID
Quiero incluirlos de nuevo en una lista como tal, lo que también significa que quiero ordenar por el mayor número de duplicados.
- John ID 3
- Matt ID 2
- de Scott ID 1
- Lucas ID 1
Quisiera saber cómo puedo hacer esto con LINQ y C#.
Gracias Todo
editar el código 2 Mostrando:
List<game> inventory = new List<game>();
drinkingforDataContext db = new drinkingforDataContext();
foreach (string item in tbTitle.Text.Split(' '))
{
List<game> getItems = (from dfg in db.drinkingfor_Games
where dfg.game_Name.Contains(tbTitle.Text)
select new game
{
gameName = dfg.game_Name,
gameID = Boomers.Utilities.Guids.Encoder.EncodeURLs(dfg.uid)
}).ToList<game>();
for (int i = 0; i < getItems.Count(); i++)
{
inventory.Add(getItems[i]);
}
}
var items = (from xx in inventory
group xx by xx into g
let count = g.Count()
orderby count descending
select new
{
Count = count,
gameName = g.Key.gameName,
gameID = g.Key.gameID
});
lvRelatedGames.DataSource = items;
lvRelatedGames.DataBind();
Esta consulta muestra estos resultados: tiempos mundo
- 1 hola
- 1 hola veces mundo
- 1 Hola mundo. veces mundo
- 1 hola veces mundo
- 1 hola
- 1 hola mundo veces
- 1 Hello World. veces
- 1 Hello World
Me da la cuenta y el nombre, pero no me da el ID del juego ....
debería mostrar:
- 6 hello world times 234234
- 2 Hello World. 23432432
dados sus resultados es obvio que el programa trata a todos sus artículos como distintos - como ya he dicho, debe implementar requisitos personalizados comparer, de lo contrario no es posible seleccionar valores distintos – aku