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

相关推荐
Yue丶越10 分钟前
【C语言】深入理解指针(二)
c语言·开发语言·数据结构·算法·排序算法
兜有米啦37 分钟前
python练习题3
开发语言·python
Wzx19801244 分钟前
go基础语法练习
开发语言·后端·golang
baivfhpwxf20231 小时前
要在 WPF 中实现数据表对应实体的属性与 UI 控件的双向绑定,并支持修改通知和 UI 自动更新
c#·wpf
忧郁的蛋~1 小时前
.NET异步编程中内存泄漏的终极解决方案
开发语言·前端·javascript·.net
2301_795167201 小时前
玩转Rust高级应用. ToOwned trait 提供的是一种更“泛化”的Clone 的功能,Clone一般是从&T类型变量创造一个新的T类型变量
开发语言·后端·rust
你才是向阳花1 小时前
如何用Python实现飞机大战小游戏
开发语言·python·pygame
合作小小程序员小小店1 小时前
web网页开发,在线%商城,电商,商品购买%系统demo,基于vscode,apache,html,css,jquery,php,mysql数据库
开发语言·前端·数据库·mysql·html·php·电商
星释2 小时前
Rust 练习册 :Phone Number与电话号码处理
开发语言·机器学习·rust
one year.2 小时前
Linux:线程同步与互斥
java·开发语言