探索 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# 项目中试用它们,看看它们如何让您的编码生活更轻松!

相关推荐
你怎么知道我是队长2 小时前
C语言---枚举变量
c语言·开发语言
李慕婉学姐3 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
吃茄子的猫3 小时前
quecpython中&的具体含义和使用场景
开发语言·python
云栖梦泽3 小时前
易语言中小微企业Windows桌面端IoT监控与控制
开发语言
数据大魔方3 小时前
【期货量化实战】日内动量策略:顺势而为的短线交易法(Python源码)
开发语言·数据库·python·mysql·算法·github·程序员创富
李建军4 小时前
界止签章宗地号替换工具
c#
qq_425263324 小时前
.net开发框架和语言
c#
Edward.W5 小时前
Python uv:新一代Python包管理工具,彻底改变开发体验
开发语言·python·uv
小熊officer5 小时前
Python字符串
开发语言·数据库·python
武藤一雄5 小时前
C# 关于多线程如何实现需要注意的问题(持续更新)
windows·后端·microsoft·c#·.net·.netcore·死锁