C# 用于选择要复制的参数的LINQ语法

C# 用于选择要复制的参数的LINQ语法,c#,wpf,linq,C#,Wpf,Linq,我有一些代码可以用C#对我的收藏进行linq排序。我希望它按房屋名称分组,对卷进行求和,对集合进行排序,同时将第三个参数pctVol传递给新排序的集合。我做错了什么?我知道问题在于pctVol=group.Selecct(item=>item.pctVol)行 var-inBetween=this.GroupBy(item=>item.houseName) .选择(组=> 新数据项 { houseName=group.Key, 体积=组总体积(项目=>项目体积), pctVol=group.Se

我有一些代码可以用C#对我的收藏进行linq排序。我希望它按房屋名称分组,对卷进行求和,对集合进行排序,同时将第三个参数pctVol传递给新排序的集合。我做错了什么?我知道问题在于pctVol=group.Selecct(item=>item.pctVol)行

var-inBetween=this.GroupBy(item=>item.houseName)
.选择(组=>
新数据项
{
houseName=group.Key,
体积=组总体积(项目=>项目体积),
pctVol=group.Select(item=>item.pctVol)
})
.ToList();
ObservableCollection objSort=新的ObservableCollection(中间.OrderBy(DataItem=>
数据项(体积);
返回objSort;

您希望pctVol具有什么类型的值?使用该代码,看起来DataItem.pctVol将是一个IEnumerable,包含该组中的所有pctVol值


如果您想要一个值,并且每个组中的所有pctVol值都保证相同,那么您可以从第一个元素中获取值,如下所示:pctVol=group.first().pctVol

Doh!这是有道理的。谢谢
            var inBetween = this.GroupBy(item => item.houseName)
             .Select(group =>
                    new DataItem
                    {
                        houseName = group.Key,
                        VOLUME = group.Sum(item => item.VOLUME),
                        pctVol = group.Select(item => item.pctVol)
                    })
             .ToList();
            ObservableCollection<DataItem> objSort = new ObservableCollection<DataItem>(inBetween.OrderBy(DataItem =>
                                    DataItem.VOLUME));
            return objSort;