You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core低版本下如何将Record替换为Class?

问题:将C# Record改写为兼容低版本.NET Core的Class

我在代码中使用Record定义了一个类型,但另有一个基于低版本.NET Core的项目无法支持Record语法,请问该如何将其改写为Class?

原始Record代码

public record BucketObject(string name, string urn);

改写后的Class代码

public class BucketObject
{
    public BucketObject(string _name, string _urn)
    {
        name = _name;
        urn = _urn;
    }
    public string name { get; set; }
    public string urn { get; set; }
}

补充说明

如果想要更贴近原生Record的不可变特性(Record默认属性为仅初始化状态),可以把属性的set改为init(该语法支持.NET Core 3.1及以上版本,若项目版本更低则保留set即可):

public class BucketObject
{
    public BucketObject(string name, string urn)
    {
        Name = name;
        Urn = urn;
    }
    public string Name { get; init; }
    public string Urn { get; init; }
}

内容的提问来源于stack exchange,提问作者Tim Huang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 16:55:40