C# 用于选择要复制的参数的LINQ语法
我有一些代码可以用C#对我的收藏进行linq排序。我希望它按房屋名称分组,对卷进行求和,对集合进行排序,同时将第三个参数pctVol传递给新排序的集合。我做错了什么?我知道问题在于pctVol=group.Selecct(item=>item.pctVol)行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
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().pctVolDoh!这是有道理的。谢谢
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;