用Linq从一个集合选取几列得到一个新的集合(可改列名)

使用Linq可以从一个集合中选择一部分数据,然后形成一个新的集合,具体可分为以下几步:

  1. 使用Select()方法选择数据集合中的某些字段。
  2. 使用Select()方法创建一个匿名类型对象,指定新的列名。
  3. 使用ToList()方法生成一个新的集合对象。

下面是一个完整的示例代码:

List<Student> students = new List<Student>()
{
    new Student {Id=1, Name="Alice", Gender="Female", Score=90 },
    new Student {Id=2, Name="Bob", Gender="Male", Score=80 },
    new Student {Id=3, Name="Cathy", Gender="Female", Score=85 },
    new Student {Id=4, Name="David", Gender="Male", Score=95 },
};

// 选取Id和Name两列,形成一个新的对象集合
var result = students
    .Select(s => new { Id = s.Id, FullName = s.Name })
    .ToList();

foreach (var s in result)
{
    Console.WriteLine($"Id: {s.Id}, Name: {s.FullName}"); // 输出结果
}

在这个示例中,我们选取了Student对象集合中的Id和Name这两列,使用了匿名类型的方式创建了IdFullName这两列,并且在输出时显示了相应的内容。

另一个示例是在选择数据的同时,类似于SQL语句中的AS关键字,可以使用PropertyName=NewName的方式为新列命名。示例如下:

// 选取Name和Score两列,并将Score修改为Grade,形成一个新的对象集合
var result2 = students
    .Select(s => new { StudentName = s.Name, Grade = s.Score })
    .ToList();

foreach (var s in result2)
{
    Console.WriteLine($"Name: {s.StudentName}, Grade: {s.Grade}"); // 输出结果
}

在上述示例中,我们选取了Student对象集合中的Name和Score这两列,使用了匿名类型的方式创建了StudentNameGrade这两列,Grade对应的是原始数据集合中的Score,输出时显示了相应的内容。

这样,我们使用Linq从一个集合选取几列得到一个新的集合并修改列名,该过程就完成了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用Linq从一个集合选取几列得到一个新的集合(可改列名) - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • vs2019 实现C#调用c++的dll两种方法

    vs2019 实现C#调用c++的dll两种方法 本文主要介绍使用vs2019实现C#调用c++的dll两种方法。 方法一:使用DllImport 编写C++动态链接库 cpp // cppdll.h extern “C” __declspec(dllexport) int add(int a, int b); cpp // cppdll.cpp int a…

    C# 2023年6月3日
    00
  • C#集合之有序列表的用法

    我会给出一份详细的C#集合之有序列表的用法的攻略。 什么是有序列表? 在C#中,有序列表是一种类型的集合,其元素以特定的次序进行排序并储存。有序列表通常包括两种形式,分别为数组(Array)和列表(List),而我们今天要介绍的是列表的使用方法。 使用有序列表可以解决许多常见问题,如按照特定标准对集合进行排序和顺序查找等。同时,列表也支持插入、删除和更新元素…

    C# 2023年5月15日
    00
  • 简单实现winform编辑器

    以下是详细的“简单实现winform编辑器”的攻略: 步骤一:创建WinForm项目 首先,在Visual Studio中创建一个新的WinForms项目,并为其命名。 步骤二:添加控件 在WinForms项目中,可以通过拖放控件的方式向窗体中添加需要的控件,如文本框、按钮、菜单、工具栏等。 步骤三:实现基础功能 编写代码来实现基本的功能,如打开文件、保存文…

    C# 2023年6月7日
    00
  • 浅谈C# async await 死锁问题总结

    下面是针对“浅谈C#asyncawait死锁问题总结”的完整攻略: 什么是async/await死锁问题 async/await 是 C# 中一种使异步编程更加便捷的方式。但是在某些情况下,使用不当会引发死锁问题。 在使用 async/await 时,我们往往会使用到 Task.Wait() 或 Task.Result 这些阻塞方法来获取异步操作的结果。 但…

    C# 2023年5月15日
    00
  • 使用Docker部署ASP.NET Core程序

    使用Docker部署ASP.NET Core程序攻略 Docker是一种流行的容器化技术,可以帮助您轻松地部署和管理应用程序。在本攻略中,我们将深入探讨如何使用Docker部署ASP.NET Core程序,并提供两个示例说明。 步骤一:创建ASP.NET Core应用程序 在开始之前,您需要创建一个ASP.NET Core应用程序。您可以使用Visual S…

    C# 2023年5月17日
    00
  • asp.net gridview 72般绝技第1/2页

    ASP.NET GridView 72般绝技攻略 什么是 ASP.NET GridView? ASP.NET GridView 是 ASP.NET 网站开发中非常常用的控件之一。它可以方便地在网页上展示数据,并且提供了很多丰富的特性,如排序、分页、过滤、编辑等。 GridView 的基本用法 GridView 的基本用法非常简单,只需要在 ASP.NET 网…

    C# 2023年5月31日
    00
  • C#使用三层架构开发Winform的详细案例

    下面我会为你详细讲解使用C#三层架构开发Winform的完整攻略。 什么是三层架构 三层架构是一种常见的软件架构模式,将软件应用划分为三个不同的部分:表示层、业务逻辑层和数据访问层。这三层分别负责不同的功能,并通过一定的规则进行交互。 表示层:用户与应用程序进行交互的接口。在Windows应用程序中,表示层一般指Winform或WPF界面。 业务逻辑层:应用…

    C# 2023年5月31日
    00
  • ASP.NET Core整合Zipkin链路跟踪的实现方法

    ASP.NET Core整合Zipkin链路跟踪的实现方法 Zipkin是一个开源的分布式跟踪系统,可以帮助我们跟踪应用程序中的请求,并分析请求的性能和延迟。在本攻略中,我们将介绍如何在ASP.NET Core应用程序中整合Zipkin链路跟踪,并提供两个示例说明。 准备工作 在使用Zipkin链路跟踪之前,我们需要完成以下准备工作: 安装Zipkin。 我…

    C# 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部