VB.NET 和 LINQ。我在这里想念啥?

Posted

技术标签:

【中文标题】VB.NET 和 LINQ。我在这里想念啥?【英文标题】:VB.NET and LINQ. What am I missing here?VB.NET 和 LINQ。我在这里想念什么? 【发布时间】:2010-11-22 23:50:07 【问题描述】:

我正在努力让this sitemap class 工作。

它似乎使用了我从未使用过的 LINQ,但编程的一半乐趣在于学习新东西!

我的问题是在 LINQ 代码所在的位置出现编译错误。 VS只是不认识它。我有对 system.data.linq 的引用,我有一个导入 system.data.linq,但仍然是代码读取的位置,“Dim 文件夹 = From o In Directory.GetDirectories...”,它告诉我“预期语句结束。”

在连接这个东西以便我可以使用 LINQ 时我缺少什么?我的框架是 2.0.5。我在 2 中根本无法使用 LINQ 吗?如果是这样,为什么我的 GAC 中有 system.data.linq?

代码如下:

    Private Sub AddFolders(ByVal parentNode As SiteMapNode)
Dim folders = From o In Directory.GetDirectories(HttpContext.Current.Server.MapPath(parentNode.Key)) _
Let dir = New DirectoryInfo(o) _
Where Not Regex.Match(dir.Name, ExcludedFolders).Success _
Select New ()

        For Each item In folders
            Dim folderUrl As String = parentNode.Key + item.DirectoryName
            Dim folderNode As New SiteMapNode(Me, folderUrl, Nothing, item.DirectoryName, item.DirectoryName)

            AddNode(folderNode, parentNode)
            AddFiles(folderNode)
        Next
    End Sub

谢谢大家。堆栈溢出摇滚。

【问题讨论】:

精氨酸。我们仍然在 2005 年。我每周都会对它们进行窃听,我们需要升级,并被忽略。至少,这对我来说是更多的弹药。谢谢你们! 【参考方案1】:
Dim folders = From o In Directory.GetDirectories(HttpContext.Current.Server.MapPath(parentNode.Key)) _
Let dir = New DirectoryInfo(o) _
Where Not Regex.Match(dir.Name, ExcludedFolders).Success _
Select dir

编辑:实际上你不能在 .NET 2.0 中使用 Linq,至少在没有一些调整的情况下不能使用……但是,使用 Linq 并使用 .NET 3.5 编译器编译的代码可以在 .NET 2.0 运行时上运行,使用LinqBridge

【讨论】:

非常感谢。 LinqBridge 看起来很漂亮。【参考方案2】:

您必须以 3.5 (Visual Studio 2008) 为目标才能使用 linq。

【讨论】:

【参考方案3】:

根据this link,您可以将 LINQ 与 .NET 2.0 一起使用(我没有亲自测试过)。不过你需要 Visual Studio 2008...

如果可能的话,我建议您升级到 .NET 3.5,除非您想等待即将发布的 .NET 4.0 :-)

【讨论】:

【参考方案4】:

如果您以 .NET Framework 2 为目标,您可以让 LINQ 正常工作...只需付出一点额外的努力。

让事情快速发展的最简单方法是下载LINQBridge,它提供了Framework 2 的LINQ 实现。

至于您在 GAC 中看到 System.Data.Linq 的原因...听起来您同时安装了 .NET 3.5 和 .NET 2.0

【讨论】:

"...听起来您已经同时安装了 .NET 3.5 和 .NET 2.0" 谢谢。那会让我整天想着这个问题。

以上是关于VB.NET 和 LINQ。我在这里想念啥?的主要内容,如果未能解决你的问题,请参考以下文章

Django FK 约束投诉,但对象在那里。我想念啥?

添加 UICollectionView 作为 UICollectionReusableView reloadData 的子视图不起作用,我想念啥?

当我想念你的时候

2020年2月3日 101路公交车

我制作了一个JavaScript对象,无法对其进行迭代,甚至无法访问其参数。我想念什么?

想念周鸿祎?其实是网民厌倦了炒作和谄媚