在学习在 VB.NET 中使用 LINQ 时,我遇到了以下问题:
Dim x As IEnumerable = (some LINQ query)
如果您无法实例化接口(interface),而只能实例化它的具体实现,为什么允许这样做?做有什么区别吗 将 x 调暗为(类型)和 将 x 调暗为新(类型)?
最佳答案
是的,差别很大。在您给出的代码中,您声明了一个指向某些实例化事物的变量。它不一定知道它是什么类型,但它知道它实现了 IEnumerable。在您提供的代码中,实际实例化为某种具体类型(实现 IEnumerable)由 LINQ 处理。右侧的部分必须产生具体的实例。
关于vb.net - IEnumerable 接口(interface)作为一种类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4682961/