public class MySoft
{
public string SoftName { get; set; }
public int Version { get; set; }
public decimal Price { get; set; }
}
作为数据,我列出了“ MySoft”(软件名称,版本,价格):
SoftA 1 25
SoftB 1 35
SoftB 2 12
SoftB 3 24
SoftA 2 14
我想保留名称,价格和版本最高的版本。
结果应为:
SoftA 2 14
SoftB 3 24
你有想法吗 ?
谢谢,
最佳答案
你也可以这样做,
var result = softwares.GroupBy(item => item.SoftName)
.Select(grp => grp.Aggregate((max, cur) =>
(max == null || cur.Version > max.Version) ? cur : max));
Fiddle