gpt4 book ai didi

c# - 声明匿名类型的列表

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:57 24 4
gpt4 key购买 nike

我正在尝试声明其中包含匿名类型的列表。我试图将列表值分配给 null 并尝试将列表分配给新的实体列表,但它显示错误。有什么指点吗?

var finalEntries = new List<MyDbTableEntity>();

var groupedItemList = _context.MyDbTableEntity
.Select(k => new { name = k.name.ToString(), data = k.info.ToString() })
.GroupBy(k => k.name)
.ToList();

finalEntries.AddRange(groupedItemList);

错误

cannot convert from 
'System.Collections.Generic.List<System.Linq.IGrouping<string, <anonymous type: string name, string data>>>'
to
'System.Collections.Generic.IEnumerable<MyDbTableEntity>'

最佳答案

它不起作用,因为您有一个类型化的 MyDbTableEntity 列表。您不能在此类型化列表中添加不同的类型。尝试定义正确的类型?

var finalEntries = new List<MyDbTableEntity>();

var groupedItemList = _context.MyDbTableEntity
.Select(k => new MyDbTableEntity { Name = k.name.ToString(), Data = k.info.ToString() })
.GroupBy(k => k.Name)
.ToList();

finalEntries.AddRange(groupedItemList);

或将其更改为对象的列表。

var finalEntries = new List<object>();

// not sure about your type
var groupedItemList = _context.MyDbTableEntity
.Select(k => new { name = k.name.ToString(), data = k.info.ToString() })
.GroupBy(k => k.name)
.ToList();

finalEntries.AddRange(groupedItemList);

重要:这个问题是当你失去这个范围时,你不会得到类型化的匿名类型,我的意思是,你需要使用一些工件来读取属性,例如:使用反射将类型转换为字典

关于c# - 声明匿名类型的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50205879/

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