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

相关推荐
wjs202444 分钟前
XSLT 实例:掌握 XML 转换的艺术
开发语言
萧鼎1 小时前
Python第三方库选择与使用陷阱避免
开发语言·python
安冬的码畜日常1 小时前
【D3.js in Action 3 精译_029】3.5 给 D3 条形图加注图表标签(上)
开发语言·前端·javascript·信息可视化·数据可视化·d3.js
一颗星星辰1 小时前
C语言 | 第十章 | 函数 作用域
c语言·开发语言
lxp1997411 小时前
php函数积累
开发语言·php
科技资讯早知道1 小时前
java计算机毕设课设—坦克大战游戏
java·开发语言·游戏·毕业设计·课程设计·毕设
白拾1 小时前
使用Conda管理python环境的指南
开发语言·python·conda
从0至12 小时前
力扣刷题 | 两数之和
c语言·开发语言
总裁余(余登武)2 小时前
算法竞赛(Python)-万变中的不变“随机算法”
开发语言·python·算法
NormalConfidence_Man2 小时前
C++新特性汇总
开发语言·c++