C# 如何从具有其他嵌套值的对象数组中从Linq返回单值整数

C# 如何从具有其他嵌套值的对象数组中从Linq返回单值整数,c#,linq,c#-6.0,C#,Linq,C# 6.0,我试图根据子字段的值对动态对象集合执行Linq查询,然后将不同字段的单个值作为整数返回 到目前为止,我得到的是: int itemId = ( from x in ((IEnumerable<dynamic>)allpets.pets.collected) where x.stats.speciesId == 294 select x.itemId ).Singl

我试图根据子字段的值对动态对象集合执行Linq查询,然后将不同字段的单个值作为整数返回

到目前为止,我得到的是:

int itemId = (
                from x in ((IEnumerable<dynamic>)allpets.pets.collected)
                where x.stats.speciesId == 294
                select x.itemId
             ).SingleOrDefault()
试试这个

int itemId = (
            from x in ((IEnumerable<dynamic>)allpets.pets.collected)
            where x.GetType().GetProperty("itemId") != null && x.stats.speciesId == 294
            select x.itemId
         ).SingleOrDefault()
int itemId=(
从x英寸((IEnumerable)allpets.pets.collected)
其中x.GetType().GetProperty(“itemId”)!=null&&x.stats.speciesId==294
选择x.itemId
).SingleOrDefault()
试试这个

int itemId = (
            from x in ((IEnumerable<dynamic>)allpets.pets.collected)
            where x.GetType().GetProperty("itemId") != null && x.stats.speciesId == 294
            select x.itemId
         ).SingleOrDefault()
int itemId=(
从x英寸((IEnumerable)allpets.pets.collected)
其中x.GetType().GetProperty(“itemId”)!=null&&x.stats.speciesId==294
选择x.itemId
).SingleOrDefault()

您的宠物类似乎没有
项目ID
。看不到全班同学和他们的properties@lokusking-实际上是这样,但在不需要它的记录中不存在。数据源不在我的控制范围内。我在这里放了一个数据示例:(对于pastebin来说太大了)我将基于json格式创建静态类并反序列化,而不是使用
dynamic
。请尝试Visual Studio的“编辑->粘贴特殊->将JSON粘贴为类”功能。@JasonP-谢谢,但这是我在这个问题上没有解决的问题的解决方案。问题是基于对象中不同嵌套值的查询结果从对象中的值返回整数。无论我使用动态还是静态都是无关的,对于信息来说,这是转换为静态对象。由于类中每个子对象的结构都不相同,因此用于读取未知数的动态是逻辑的。请查看粘贴,您将看到数据基本一致,因此有些宠物没有itemid字段。
select x?.itemid??0
适用于我您的宠物类似乎没有
项目ID
。看不到全班同学和他们的properties@lokusking-实际上是这样,但在不需要它的记录中不存在。数据源不在我的控制范围内。我在这里放了一个数据示例:(对于pastebin来说太大了)我将基于json格式创建静态类并反序列化,而不是使用
dynamic
。请尝试Visual Studio的“编辑->粘贴特殊->将JSON粘贴为类”功能。@JasonP-谢谢,但这是我在这个问题上没有解决的问题的解决方案。问题是基于对象中不同嵌套值的查询结果从对象中的值返回整数。无论我使用动态还是静态都是无关的,对于信息来说,这是转换为静态对象。由于类中每个子对象的结构都不相同,因此用于读取未知数的动态是逻辑的。请查看粘贴,您将看到数据基本一致,因此有些宠物没有itemid字段。
select x?.itemid??0
适合我