首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用LINQ创建DataTable以选择多个列

的方式可以通过以下步骤实现:

  1. 首先,创建一个新的DataTable对象,并定义列的结构。可以使用DataTable的Columns属性来定义列的名称和数据类型。
  2. 使用LINQ查询语句从其他数据源(例如数据库表或其他DataTable)中选择需要的列。可以使用Select方法选择多个列,并使用匿名类型来保存结果。
  3. 遍历LINQ查询结果,并将每一行的数据添加到新创建的DataTable中。可以使用ForEach方法遍历LINQ查询结果,并使用DataTable的NewRow方法创建新行,然后使用DataRow的ItemArray属性将数据添加到新行。

下面是一个示例代码,展示了如何使用LINQ创建DataTable以选择多个列:

代码语言:txt
复制
using System;
using System.Linq;
using System.Data;

public class Program
{
    public static void Main()
    {
        // 创建一个新的DataTable并定义列的结构
        DataTable dataTable = new DataTable();
        dataTable.Columns.Add("Name", typeof(string));
        dataTable.Columns.Add("Age", typeof(int));
        dataTable.Columns.Add("City", typeof(string));

        // 假设有一个名为"persons"的数据源(可以是数据库表或其他DataTable)
        var persons = new[]
        {
            new { Name = "Alice", Age = 25, City = "New York" },
            new { Name = "Bob", Age = 30, City = "London" },
            new { Name = "Charlie", Age = 35, City = "Paris" }
        };

        // 使用LINQ查询语句选择需要的列,并使用匿名类型保存结果
        var query = from person in persons
                    select new { person.Name, person.Age };

        // 遍历LINQ查询结果,并将每一行的数据添加到新创建的DataTable中
        query.ToList().ForEach(p =>
        {
            DataRow newRow = dataTable.NewRow();
            newRow["Name"] = p.Name;
            newRow["Age"] = p.Age;
            dataTable.Rows.Add(newRow);
        });

        // 打印新创建的DataTable的内容
        foreach (DataRow row in dataTable.Rows)
        {
            Console.WriteLine("Name: " + row["Name"] + ", Age: " + row["Age"]);
        }
    }
}

运行以上代码,将输出如下结果:

代码语言:txt
复制
Name: Alice, Age: 25
Name: Bob, Age: 30
Name: Charlie, Age: 35

此示例演示了如何使用LINQ创建一个具有指定列结构的DataTable,并从其他数据源中选择多个列添加到新的DataTable中。在实际应用中,根据具体情况选择相应的LINQ查询语句和操作方式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • WPF Binding学习(四) 绑定各种数据源

    在这里我们使用了ListView控件和GridView控件来显示数据,这两个控件从表面来看应该属于同一级别的控件。实际上并非如此!ListView是ListBox的派生类,而GridView是ViewBase的派生类,ListView中的View是一个ViewBase对象,所以,GridView可以做为ListView的View来使用而不能当作独立的控件来使用。这里使用理念是组合模式,即ListView由一个View,但是至于是GridVIew还是其它类型的View,由程序员自己选择。其次,GridView的内容属性是Columns,这个属性是GridViewColumnCollection类型对象。因为XAML支持对内容属性的简写,可以省略<GridView.Columns>这层标签,直接在GridView内部定义<GridViewColumn>对象,GridViewColumn中最重要的一个属性是DisplayBinding(类型是BindingBase),使用这个属性可以指定这一列使用什么样的Binding去关联数据-----这与ListBox有些不同,ListBox使用的是DisplayMemberPath属性(类型是String)。如果想用更复杂的结构来表示这一标题或数据,则可为GridViewColumn设置Head Template和Cell Template,它们的类型都是DataTemplate

    03
    领券