类似于 dbaseman 的回答(和 AKX 的评论),我会使用Cast:
IEnumerable<MyClass> vats = here.All().Cast<MyClass>();
不过,您需要一个usingLINQ 指令:
using System.Linq;
在文件的顶部。Select如果无法识别该方法,听起来您还没有。
请注意,这假定每个值确实是一个MyClass参考。
编辑:如果您希望能够按索引访问值,我建议使用ToList:
List<MyClass> vats = here.All().Cast<MyClass>().ToList();
虽然ToArray也可以,但在大多数情况下,我个人更喜欢列表而不是数组,因为它们更灵活。
编辑:听起来你的结果实际上充满了ExpandoObject. 您需要MyClass从每个项目创建一个新实例,例如
List<MyClass> vats = here.All()
                         .Select(item => new MyClass(item.Name, item.Value))
                         .ToList();
或者可能:
List<MyClass> vats = here.All()
                         .Select(item => new MyClass {
                                     Name = item.Name,
                                     Value = item.Value,
                                 })
                         .ToList();
这只是一个示例,我不希望它立即起作用 - 我们不能做得比这更好,因为我们对您的结果实际上是如何返回的一无所知。
恐怕你在这里听上去有点不知所措。