У меня есть список элементов
- John ID
- Матовый идентификатор
- John ID
- Скотт ID
- Матовый идентификатор
- John ID
- Lucas ID
Я хочу перетащить их обратно в список вроде этого, что также означает, что я хочу сортировать по самому большому количеству дубликатов.
- John ID 3
- Matt ID 2
- Скотт ID 1
- Lucas ID 1
Сообщите мне, как я могу это сделать с LINQ и С#.
Спасибо всем
РЕДАКТИРОВАТЬ 2 Показывать код:
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();
В этом запросе отображаются следующие результаты:
- 1 привет мировые времена
- 1 привет мировые времена
- 1 Привет, мир.
- 1 привет мировые времена
- 1 привет мировые времена
- 1 привет мировые времена
- 1 Привет, мир.
- 1 привет мировые времена
Это дает мне счет и имя, но это не дает мне идентификатор игры....
Он должен отображать:
- 6 привет мировые времена 234234
- 2 Привет, мир. 23432432