从非常简单的linq查询InvalidCastException

本文关键字:查询 InvalidCastException linq 非常 简单 | 更新日期: 2023-09-27 18:16:13

编辑:没关系。下面的示例改编自c#,从遗留的VB代码转换而来,其中有一对具有相同名称的结构和类。所以下面的"KooClass"实际上是一个结构体,KooArray返回类class的数组。

我想删掉这个问题,但是似乎没有这样的选项。

==================================================第一个查询工作正常。第二个linq抛出InvalidCastException。

。HooArray是一个返回HooStruct数组的属性。同样,KooArray是一个返回KooClass数组的属性。

我已经遍历了两个数组属性的get,它们返回没有问题。

从名字可以猜到,HooStruct是一个结构体,KooClass是一个类。

这是怎么回事?

        var goo = (from Foo.Goo.HooStruct g in this.HooArray
                   select g).ToList();
        var foo = (from Foo.Goo.KooClass g in this.KooArray
                   select gt).ToList();

从非常简单的linq查询InvalidCastException

看起来KooArray包含的对象不是KooClass对象