У меня есть список, содержащий более 600 объектов в этой форме:
Каждый объект имеет свойство ItemCode
и свойство ItemCost
.
Я пытаюсь написать интегрированный запрос языка С# (LINQ) для
Найдите элементы в этом списке с одинаковым ItemCode.
И удалите тот, у которого выше ItemCost.
Например, если в этом списке 2 элемента с одинаковым ItemCode = RNWA.
Если один из них имеет ItemCost 4,65, а другой имеет ItemCost 3
Я хотел бы удалить тот, у которого выше ItemCost 4,65.
Мой первый подход состоит в том, чтобы найти/выбрать элементы с ItemCodes, встречающимися более одного раза.
Вот несколько моих неудачных попыток (where dataSet is the list of objects
)
dataSet.Select(x => x.ItemCode).Where(x => x.Count() > 1).Cast<Dictionary<string, decimal>>();
dataSet.GroupBy(x => x).Where(g => g.Count() > 1).Select(g => g).ToList().Cast<Dictionary<string, decimal>>()
dataSet.GroupBy(x => x.ItemCode).Where(x => x.Count() > 1).Cast<Dictionary<string, decimal>>();
Пожалуйста, может кто-нибудь указать мне в направлении. Благодарю вас!