首页 / 问答 / C#&.NET Core(.NET 7)程序开发中如何从DataTable中查询id>5的数据呢?

C#&.NET Core(.NET 7)程序开发中如何从DataTable中查询id>5的数据呢?

.NET C# DataTable Linq .NET Core 1.22K 次浏览
0

如题,C#&.NET Core(.NET 7)程序开发中如何从DataTable中查询id>5的数据呢?

回复 [×]
提交评论
请输入评论内容

2 个回答

  • 0

    你可以使用LINQ查询语句来筛选DataTableid大于5的数据。下面是一个简单的例子:

    // 假设你已经有一个 DataTable 叫做 "table"
    var query =
        from row in table.AsEnumerable()
        where row.Field<int>("id") > 5
        select row;
    
    // 遍历查询结果并处理数据
    foreach (var row in query)
    {
        // 处理数据...
    }
    

    在上面的代码中,AsEnumerable() 方法将 DataTable 转换为一个可枚举的对象,然后使用LINQ查询筛选 id 大于 5 的行。Field<int>("id") 方法获取行中 id 列的值并转换为整数类型。最后,使用 foreach 循环遍历查询结果并处理数据。

    Rector的个人主页

    Rector

    2023-02-18 回答

    • 0

      可以使用 LINQ 查询来从 DataTable 中选择 id 大于 5 的行,如下所示:

      // 假设您已经有了一个 DataTable 对象叫做 dataTable
      var query = from row in dataTable.AsEnumerable()
                  where (int)row["id"] > 5
                  select row;
      
      // 遍历查询结果
      foreach (var row in query)
      {
          // 处理每一行的数据
      }
      

      在这个查询中,我们将 DataTable 转换为 IEnumerable 对象,然后使用 LINQ 查询选择 id 大于 5 的行。注意,我们使用 (int)row["id"] 来强制转换 "id" 列的值为整数,因为 DataTable 中的所有列都是 object 类型。最后,我们可以遍历查询结果并处理每一行的数据。

      您也可以使用方法语法来编写相同的查询,如下所示:

      var query = dataTable.AsEnumerable()
                           .Where(row => (int)row["id"] > 5);
      
      foreach (var row in query)
      {
          // 处理每一行的数据
      }
      

      方法语法是将操作连接起来形成的链式调用,与上面的查询等效。

      Rector的个人主页

      Rector

      2023-02-18 回答

      我来回答