c# 元组、record

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

posted @ 2023-06-15 16:02  _NKi  阅读(13)  评论(0编辑  收藏  举报