vb.net - Linq to DataSet Order By 子句错误

标签 vb.net linq

我有以下创建 Linq 查询的代码。 直到今天我才使用过 Linq(对我来说很羞耻)并且遇到了“Order By Clause”问题

    Dim products = dt.AsEnumerable()
    Dim linq = From p In products _
               Where p!Weight > 2 _
               Take 20 _
               Select p!Clarity, p!Color, p!Weight _
               Order By p!Weight.Length

如果我运行代码,我会收到以下错误。

名称“p”未声明或不在当前范围内。

为什么 p!Weight 在“Select Clause”中有效,但在“Order By Clause”中无效?

谢谢

最佳答案

Select 子句之后,p 不再位于范围内。
首先移动Order By

关于vb.net - Linq to DataSet Order By 子句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9185741/

相关文章:

vb.net - VB.net 中的字符串替换 "&"

c# - 如何从数组中查找特定数字?

vb.net - 如何更改 VB.NET 中动态创建的标签的值?

asp.net - 如何通过为 paypal 按钮 asp.net 嵌入 html 表单

mysql - 当@variable 被添加到 mysql 查询时,Vb.net/Mysql 抛出 fatal error

linq - 在 EF 中定义逗号分隔字符串并与 Linq 一起使用

c# - 使用 LINQ 查询初始化 List<int>

vb.net - 使用 FtpWebRequest 将文件从 azure 托管应用程序上传到外部 ftp 站点

c# - 从 List<object> 中查找多个唯一匹配项,其中两个条件必须不同

c# - 如何使用 linq 在 C# 中过滤字符串以排除所有字母和数字?