⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

C# Record 类型详解

学习C# Record类型,掌握不可变数据模型和值相等性 · 难度:入门 · +15XP

Record 类型概述

C# 9 引入的 record 类型是一种引用类型,专为不可变数据建模设计。与 class 不同,record 默认提供基于值的相等性比较,而非引用相等性。Record 非常适合 DTO、配置对象和值对象。

基本语法

public record Person(string FirstName, string LastName);

编译器自动生成:构造函数、属性、Equals/GetHashCode、ToString、Deconstruct 和 With 表达式。

关键特性

特性说明
值相等性比较所有属性值,而非引用
不可变性属性默认 init-only
解构支持位置解构
非破坏性修改使用 with 表达式创建副本

示例

var person1 = new Person("Alice", "Smith");
var person2 = new Person("Alice", "Smith");
Console.WriteLine(person1 == person2); // True
var person3 = person1 with { LastName = "Johnson" };
Console.WriteLine(person3); // Person { FirstName = Alice, LastName = Johnson }

💡 练习提示:尝试创建 record 类,添加自定义方法,并测试 with 表达式和相等性。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 148 篇
0 完成
🔥 0