.Net Core Record 类型

public class Person {

public string id {get;init;}

public string code {get;init;}

public string name {get;init;}

}

//Person 属性不可单独赋值,相当于使用record定义

public record Person string id,string code,string name)

//record类型定义对象

1、定义的属性只能在初始化时赋值

2、重写了Equals等对象类型的比较方法,在两个不同引用的record对象的内容相同时,对两者进行==比较,判断两者相等为true

3、重写了ToString()方法,便于输出属性内容。还重写了GetHashCode()Equals()方法。

复制代码
public record   User(string code,string name);

User u1 = new User("101", "yxs");
User u2 = new User("101", "yxs");

//with的使用
//with表达式,用于拷贝原有对象,并对特定属性进行修改
User u3 = u2 with {code="", name = "name2"};


Console.WriteLine(u1.ToString());//输出对象值
Console.WriteLine(u1.Equals(u2));//true
Console.ReadLine();
相关推荐
七夜zippoe3 小时前
Spring WebFlux核心原理-对比Servlet与响应式模型
java·spring·servlet·长连接·webflux·短连接
csdn_aspnet2 天前
在 ASP.NET Core 中发布 RabbitMQ 消息
rabbitmq·.netcore
csdn_aspnet2 天前
在 ASP.NET Core 中使用(消费) RabbitMQ 消息
rabbitmq·.netcore
csdn_aspnet3 天前
ASP.NET Core 应用程序中的单点登录 (SSO)
.netcore·sso
csdn_aspnet3 天前
使用 RabbitMQ 和 MassTransit 在 .NET Core 中实现强大的微服务:处理订阅者故障和消息恢复
微服务·rabbitmq·.netcore
杨大枫4 天前
Minio数据下载
.netcore
小钟不想敲代码4 天前
Python(三)
java·python·servlet
heartbeat..5 天前
Servlet 全面解析(JavaWeb 核心)
java·网络·后端·servlet
deriva5 天前
windows系统安装linux并docker部署.netcore项目
linux·docker·.netcore
Edward111111116 天前
tomcat_servlet
java·servlet·tomcat