万金流
以码会友。 吾Q:578751655。 水平有限,轻喷,谢!

record是一种语法糖。

标准的record用法有“record class”和"record struct"两种,分别表示记录类和记录构造。是“引用”和“值”的差别。

单独使用record表示"record class"。

语法:脱胎于构造函数。

 record Person(string Xm,int Nl); 

或者

record Person(string Xm,int Nl)
{
    public void showMe()
    {
        Console.WriteLine($"I'm {Xm}, I'm {Nl} years old.");
    }
}

含义:

1、快速写出类Person。

2、参数(微软称为位置参数)Xm和Nl会自动生成为属性。

3、自动生成解构函数。

上面的Person,基本用法如下:

static void Main(string[] args)
{
    Person a=new("zs",20);
    a.showMe();
    var (aa, bb) = a;
    Console.WriteLine($"{aa}\n{bb}");
}

结果略。

注意:

  1. 记录除了语法糖的性质,还是为性能优化和安全设计的。
  2. 其中一个表现为属性只读,构造后不可修改。
  3. 应该只用它来存放数据。
  4. 尽量不要带方法,不要继承。
posted on 2024-05-05 23:41  万金流  阅读(263)  评论(0编辑  收藏  举报