gpt4 book ai didi

c# - LINQ groupby 到 List>

转载 作者:行者123 更新时间:2023-11-30 14:23:58 24 4
gpt4 key购买 nike

我有一个 ASP.NET MVC View ,我在其中使用 LINQ 将模型拆分为一个对象的多个列表。

下面的代码是因为我在 var data 中得到了正确的对象列表。但是我不能将它转换为我的对象来访问属性。我收到错误

Unable to cast object of type 'Grouping[<>f__AnonymousType3'2[System.DateTime,System.String],MVCProj.Models.tblData2017]' to type 'MVCProj.Models.tblData2017

Index.cshtml View :

@model IEnumerable<MVCProj.Models.tblData2017>

@{
ViewBag.Title = "Index";
}

<h2>Title</h2>
@{
var data = Model.Where(x => x.Start.Date == DateTime.UtcNow.Date)
.GroupBy(x => new { x.Start, x.Field2 }).ToList();
for (int i = 0; i < data.Count; i++)
{
var rowItem = (List<tblCards2017>)data[i]; //<-Error on this line
string header1 = $"{rowItem.Start.ToString("HH:mm")} {rowItem.Field2}";
}
}

我怎样才能做到以下任一操作

i) 成功转换var rowItem = (List<tblCards2017>)data[i];

ii) 使用 linq 获取正确的对象类型 List<List<tblCards2017> data = Model.Where.....而不是当前类型 var data = System.Collections.Generic.List<System.Linq.IGrouping<<>f__AnonymousType2<System.DateTime, string>, MVCProj.Models.tblData2017>>

最佳答案

我想你正在看这个:

var data = Model.Where(x => x.Start.Date == DateTime.UtcNow.Date)
.GroupBy(x => new { x.Start, x.Field2 })
.Select(g=>g.ToList()).ToList();

添加一个Select 调用以获取每个组的列表

关于c# - LINQ groupby 到 List<List<object>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43076813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com