我正在执行以下请求。它按预期工作并返回结构正确的数据。(它创建一个“head”对应于公共字段的元素,并将该字段中具有相同值的所有元素作为“tail”中的一个数组。)
var result
= from A in As
group A by A.F into B
select new
{
F1 = B.Key,
F2 = from A in As
where A.F == B.Key
select A
};
现在我想明确声明它的类型。我已经在调试器中检查了我对类型的假设是正确的,但是,当我尝试声明它时,它给了我转换错误。
- 为什么?
- 如何显式声明类型?
我尝试了不同的声明变体,但失败了。
IEnumerable<Tuple<String, IEnumerable<MyType>>> result
= from ...
} as Tuple<String, MyType>;
我知道这是可行的,但我缺乏正确的经验。我注意到以下工作。但是,我不确定如何更进一步,将Object交换为实际的变量类型。
IEnumerable<Object> result
= from ...
} as Object;