探索 C# 9 的记录类型(record)

一.介绍

C# 9 引入了一项名为记录类型的新功能,使构建不可变数据结构变得更加容易。无论您是刚开始使用 C# 还是已经编码一段时间,了解记录类型都可以真正提高您的编码水平。在这篇文章中,我们将介绍 C# 9 记录类型的基础知识,了解它们的工作原理、它们为什么很棒,并提供一些示例来帮助您更好地理解。

二.理解 C# 9 中的记录

记录提供了一种定义不可变数据结构的直接方法。与常规类不同,记录具有基于值的相等性、不变性和解构性等内置功能,这使得它们非常适合处理程序中的数据实体。

三.句法

让我们看一下记录类型的结构。在 C# 9 中,创建记录非常简单:使用 record 关键字,后跟记录的名称及其用括号括起来的属性。这是一个简单的例子:

复制代码
public record Person
{
    public string FirstName { get; init; }
    public string LastName { get; init; }
}

在此示例中,我们创建了一个具有两个属性的 Person 记录:FirstName 和 LastName。通过使用 init 访问器,我们确保这些属性只能在对象初始化期间设置,这有助于保持不变性。

四.记录类型的好处

  1. **简洁的语法:**记录类型允许您仅用几行创建复杂的数据结构,减少不必要的代码并使您的程序更易于管理。
  2. **基于值的相等性:**使用记录类型,您可以获得自动的基于值的相等性,因此您可以根据它们的属性值而不是引用来比较两个记录。
  3. **不可变属性:**记录属性默认是不可变的,这意味着在对象初始化后它们不能被更改。此功能有助于防止意外的副作用并提高代码的可预测性。

五.例子

  1. 创建记录

    var person1 = new Person { FirstName = "Lalji", LastName = "Dhameliya" };
    var person2 = new Person { FirstName = "Lalji", LastName = "Dhameliya" };

2.基于价值的平等

复制代码
bool areEqual = person1.Equals(person2); //如果FirstName和LastName相等,则为true

3.解构

复制代码
var (first, last) = person1; //将记录分解为单个变量

六.结论

C# 9 的记录类型使组织数据和编写更好的代码变得容易。它们易于使用,提供公平的比较方法,并保护您的数据免受不必要的更改。无论您处理的是基本数据还是复杂数据,记录类型都是明智的选择。立即在您的 C# 项目中试用它们,看看它们如何让您的编码生活更轻松!

相关推荐
mudtools1 天前
.NET驾驭Word之力:玩转文本与格式
c#·.net
唐青枫1 天前
C#.NET 数据库开发提速秘籍:SqlSugar 实战详解
c#·.net
mudtools2 天前
.NET驾驭Word之力:理解Word对象模型核心 (Application, Document, Range)
c#·.net
侃侃_天下2 天前
最终的信号类
开发语言·c++·算法
echoarts2 天前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Aomnitrix2 天前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
大飞pkz2 天前
【设计模式】C#反射实现抽象工厂模式
设计模式·c#·抽象工厂模式·c#反射·c#反射实现抽象工厂模式
每天回答3个问题2 天前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说2 天前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
小莞尔2 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机