我正在和一个人争论 Visual Basic 中的 linq。他在 vb 中显示 linq 表达式,但我不能确定它是托管的还是非托管的(vb6),因为我从未使用过它们中的任何一个。
VB6 有 linq 表达式吗?
Visual Basic 6 没有 LINQ 扩展。
VB6 与 VB.NET 无关。这是一种不同的语言和平台。在 C 和 C++ 相关的意义上,这两者是相关的。
特别是,VB6 不是 VB.NET 的非托管形式。
LINQ 是 .NET 框架的一部分。VB6 于 1998 年发布。.NET 于 2002 年发布。
VB6 IDE 不受支持。
Linq 是相当新的(2007 年发布)。1998 年左右发布的 VB6 不支持它
在版本 7 中,Visual Basic 通过托管代码和真正的面向对象迈进了 .NET,将旧的非托管平台抛在了脑后。(嗯,它从来没有被称为非托管,因为没有托管代码......)版本 9 发布了一段时间,包括 LINQ 支持。
因此,没有 VB 6 不支持 LINQ。
在 VB 6 中使用 LINQ 和 Lambda 表达式的唯一方法是使用 COM Interop。无论您需要为代理和翻译器考虑多少时间,性能仍然可以。
对于需要在 VB 6 代码中使用 LINQ 和Parallel LINQ(PLINQ)的场景,最好的解决方案是使用COM Callable Wrapper(CCW)。要了解更多信息,您可以阅读如何将 .NET COM 公开给 COM 客户端,例如 VB 6。