C# 使用LINQ从列表中删除重复项,获取System.LINQ.Enumerable+WhereSelectEnumerableInterator`2

C# 使用LINQ从列表中删除重复项,获取System.LINQ.Enumerable+WhereSelectEnumerableInterator`2,c#,linq,C#,Linq,我正在尝试使用LINQ从一个大列表中删除重复项。当我在Select语句中只有前三行时,它工作得很好,但当我添加其余字段时,会收到错误消息System.Linq.Enumerable+WhereSelectEnumerableIterator`2[ConsumptionDto,System.String]。我做错了什么?结果见图片 感谢您帮助LINQ的初学者。我想我已经找到了解决问题的办法。如果你认为这是一个很好的解决方案,或者如果你想换一种方式,请随时发表评论。向别人学习很有趣

我正在尝试使用LINQ从一个大列表中删除重复项。当我在Select语句中只有前三行时,它工作得很好,但当我添加其余字段时,会收到错误消息System.Linq.Enumerable+WhereSelectEnumerableIterator`2[ConsumptionDto,System.String]。我做错了什么?结果见图片


感谢您帮助LINQ的初学者。我想我已经找到了解决问题的办法。如果你认为这是一个很好的解决方案,或者如果你想换一种方式,请随时发表评论。向别人学习很有趣

                consumptionDto_noDuplicates = consumptionDto
                .GroupBy(g => g.VariantVersion)
                .Select(x => new ConsumptionDto
                {
                    VariantVersion = x.Key,
                    WeightMax = x.Max(max => max.WeightMax),
                    WeightMin = x.Min(min => min.WeightMin),
                    WeightRange = x.FirstOrDefault().WeightRange.ToString(),
                    Category = x.FirstOrDefault().Category.ToString(),
                    Co2EmissionCity = GetDouble(x.FirstOrDefault().Co2EmissionCity.ToString()),
                    Co2EmissionHighway = GetDouble(x.FirstOrDefault().Co2EmissionHighway.ToString()),
                    Co2EmissionCombined = GetDouble(x.FirstOrDefault().Co2EmissionCombined.ToString()),
                    FuelConsumptionCity = GetDouble(x.FirstOrDefault().FuelConsumptionCity.ToString()),
                    FuelConsumptionHighway = GetDouble(x.FirstOrDefault().FuelConsumptionHighway.ToString()),
                    FuelConsumptionCombined = GetDouble(x.FirstOrDefault().FuelConsumptionCombined.ToString()),
                    TyreCombination = x.FirstOrDefault().TyreCombination.ToString(),
                    VehicleType = x.FirstOrDefault().VehicleType.ToString()
                }).ToList();

x、 选择c=>c.WeightRange.ToString,此代码用于所有属性,为什么?您看到的不是错误消息,而是x.Selectc=>c.WeightRange.ToString的结果,谢谢您的评论。你会如何解决它呢?我对LINQ的了解尤其有限。我找不到解决这个问题的正确方法。你能帮助我吗?
                consumptionDto_noDuplicates = consumptionDto
                .GroupBy(g => g.VariantVersion)
                .Select(x => new ConsumptionDto
                {
                    VariantVersion = x.Key,
                    WeightMax = x.Max(max => max.WeightMax),
                    WeightMin = x.Min(min => min.WeightMin),
                    WeightRange = x.FirstOrDefault().WeightRange.ToString(),
                    Category = x.FirstOrDefault().Category.ToString(),
                    Co2EmissionCity = GetDouble(x.FirstOrDefault().Co2EmissionCity.ToString()),
                    Co2EmissionHighway = GetDouble(x.FirstOrDefault().Co2EmissionHighway.ToString()),
                    Co2EmissionCombined = GetDouble(x.FirstOrDefault().Co2EmissionCombined.ToString()),
                    FuelConsumptionCity = GetDouble(x.FirstOrDefault().FuelConsumptionCity.ToString()),
                    FuelConsumptionHighway = GetDouble(x.FirstOrDefault().FuelConsumptionHighway.ToString()),
                    FuelConsumptionCombined = GetDouble(x.FirstOrDefault().FuelConsumptionCombined.ToString()),
                    TyreCombination = x.FirstOrDefault().TyreCombination.ToString(),
                    VehicleType = x.FirstOrDefault().VehicleType.ToString()
                }).ToList();