用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日

相关文章

  • 微信公众平台开发教程(三) 基础框架搭建

    下面将为你详细讲解“微信公众平台开发教程(三) 基础框架搭建”的完整攻略。 1. 前言 在此之前,需要在微信公众平台官网上申请并获取到公众号的开发者权限。本文以PHP为例。 2. 搭建基础框架 在开始之前需要安装或确保已经安装Composer,Composer是PHP的依赖管理工具,它允许开发者定义所依赖的库,然后Composer会自动解决他们的依赖性,并安…

    C# 2023年6月3日
    00
  • Asp.net core 使用SignalR推送消息过程详解

    Asp.net core 使用SignalR推送消息过程详解 SignalR是一个基于ASP.NET Core的实时通讯框架,允许服务器端代码通过WebSockets、Server-Sent Events (SSE)、Long Polling或Forever Frame等协议向客户端推送消息,同时也支持客户端向服务器端发送消息。 SignalR的核心组件是H…

    C# 2023年6月3日
    00
  • Asp.Net Core配置多环境log4net配置文件的全过程

    在 ASP.NET Core 项目中,使用 log4net 记录日志是一种常见的方式。在多环境下,我们需要为每个环境配置不同的 log4net 配置文件。以下是 ASP.NET Core 配置多环境 log4net 配置文件的全过程: 步骤一:添加 log4net 包 首先,需要在 ASP.NET Core 项目中添加 log4net 包。可以使用 NuGe…

    C# 2023年5月17日
    00
  • ASP.NET MVC HtmlHelper如何扩展

    ASP.NET MVC HtmlHelper是一个很强大的工具,它可以帮助我们在视图中构建HTML代码。但是,这些HtmlHelper可能无法满足我们的需求,因此我们需要扩展它们。下面是ASP.NET MVC HtmlHelper如何扩展的完整攻略: HTML Helper的扩展方法命名约定 要扩展HTML Helper,首先需要创建一个静态类并在其中创建一…

    C# 2023年5月31日
    00
  • 基于c# 接口的实例详解

    当我们想要实现面向对象编程中的多态特性时,可以通过使用接口来实现。在C#中,接口(interface)是一种抽象类型,它定义了一组方法、属性、索引器和事件,但不提供其具体实现。在实际编程中,我们可以在类中实现接口,并且实现类中的方法和属性可以不同,这样就可以实现不同类对象的相同行为。 对于使用C#接口的实例,我们可以按照以下步骤进行实现: 第一步:定义接口 …

    C# 2023年6月6日
    00
  • .Net Core日志记录之自定义日志组件

    下面是关于“.Net Core日志记录之自定义日志组件”的完整攻略。 1. 简介 .Net Core提供了强大的日志记录功能,方便开发人员在应用程序运行时监测和跟踪代码中的问题。通常的做法是使用内置的日志记录器,如Microsoft.Extensions.Logging.Console、Microsoft.Extensions.Logging.Debug等日…

    C# 2023年6月3日
    00
  • net core webapi多版本控制与swagger(nswag)配置教程

    .NET Core WebAPI 多版本控制与 Swagger(NSwag)配置教程 在 .NET Core WebAPI 中,我们可以使用多版本控制来管理不同版本的 API。同时,我们也可以使用 Swagger(NSwag)来生成 API 文档和客户端代码。本攻略将介绍如何在 .NET Core WebAPI 中实现多版本控制和 Swagger(NSwag…

    C# 2023年5月17日
    00
  • C# 添加文字水印类代码

    下面是关于“C# 添加文字水印类代码”的完整攻略。 1. 确定需求和目标 在开始编写代码之前,我们需要明确需求和目标。本文中,我们要编写一个 C# 类,能够在一张图片上添加指定文字的水印。该类应该简单易用,具有灵活性和可扩展性,而且在添加水印时要保持图片的质量。 2. 准备开发环境 在开始编写代码之前,我们需要准备好开发环境。具体来说,我们需要安装 Visu…

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