前置知识: C#

记录类型与不可变性

00:00
1 min Advanced 2026/6/14

C#记录类型(record)与不可变性详解。

1. record 基本用法

public record Person(string Name, int Age);

var p1 = new Person("Alice", 30);
var p2 = new Person("Alice", 30);

p1 == p2;           // true(值相等)
p1 with { Age = 31 }; // 创建副本并修改

2. record struct

public record struct Point(double X, double Y);

3. 自定义 record

public record User {
    public string Name { get; init; }
    public string Email { get; init; }

    public User(string name, string email) => (Name, Email) = (name, email);
}

4. 不可变性优势

  • 线程安全
  • 副作用
  • 易于推理
  • 适合函数式编程

5. with 表达式

var original = new Person("Alice", 30);
var modified = original with { Age = 31 };
// original 不变,modified 是新对象

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式