gpt4 book ai didi

c# - C# 6.0 中的只读属性

转载 作者:太空狗 更新时间:2023-10-29 17:33:07 24 4
gpt4 key购买 nike

Microsoft 在 C#6 中引入了一种新语法,可让您将属性设置为只读,如下所示:

public class Animal
{
public string MostDangerous { get; } = "Mosquito";
}

我想知道这种方法的附加值是什么。

只写有什么区别:

public class Animal
{
public const string MostDangerous = "Mosquito";
}

甚至:

public class Animal
{
public string MostDangerous
{
get
{
return "Mosquito";
}
}
}

最佳答案

您的示例使用的是无法显示所有可能性的字符串常量。看看这个片段:

class Foo
{
public DateTime Created { get; } = DateTime.Now; // construction timestamp

public int X { get; }

public Foo(int n)
{
X = n; // writeable in constructor only
}
}

只读属性是每个实例的,可以从构造函数中设置。与值必须在编译时确定的 const 字段非常不同。属性初始值设定项是一个单独的功能,并遵循字段初始值设定项的规则和限制。

关于c# - C# 6.0 中的只读属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36820229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com