vb.net - IEnumerable 接口(interface)作为一种类型?

标签 vb.net

在学习在 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/

相关文章:

vb.net - 显式使用 System.IO 而不是导入它是否有性能优势?

vb.net - SQLite Date索引未显示任何性能改进

vb.net - 在 Visual Basic 中退出时打开和关闭表单?

.net - 在 VB.NET 中确定文件大小

mysql - 必须声明标量变量

c# - 拆分字符串并忽略引号内的定界符

xml - 从 XmlNode 创建 Xdocument 对象

ASP.NET w/VB.NET - ListBox 或 CheckBoxList 上的 MultiSelect w/AutoPostback 已启用

vb.net - 控件级别上的哪个事件相当于 Form.Load 事件?

c# - DataGridView:查找 ColumnHeaders 是否真的可见