record 使用方法
基本用法
public class Program
{
public record Test(int a, string b);
public static void Main()
{
var t = new Test(b: "bbb", a: 10);
// var t = new Test(10, "bbb");
// Test t = new(b: "bbb", a: 10);
Console.WriteLine(t.b + t.a);
}
}
配合 require 和对象构造器
public class Program
{
public record Test(int a)
{
public required string b;
}
public static void Main()
{
var t = new Test(10){ b = "bbb" };
Console.WriteLine(t.b + t.a);
}
}
配合元组解构(对象构造器初始化的字段无法被解构)
public class Program
{
public record Test(int a, string b);
public static void Main()
{
var t = new Test(b: "bbb", a: 10);
var (a, b) = t;
Console.WriteLine(b + a);
}
}
参考地址
记录(C# 参考)
C# – Record, Class, Struct