gpt4 book ai didi

c# - C# 中正确的变量声明

转载 作者:行者123 更新时间:2023-11-30 18:49:19 25 4
gpt4 key购买 nike

我注意到有些人用 get 和 set 语句先声明一个私有(private)变量,然后再声明一个公共(public)变量:

private string myvariable = string.Empty;
public string MyVariable
{
get { return myvariable; }
set { myvariable = value ?? string.Empty; }
}

然后有些人会做以下事情:

public string MyVariable
{
get { return value; }
set { MyVariable = value; }
}

作为一只不聪明的熊(是的,我有 child ……你为什么要问这个问题?)我不明白你为什么会选择一个而不是另一个。使用变量的 set 方法可以随时设置的公共(public)变量不是同样有效吗?

有谁能帮我解释一下吗?

更新:在一些人指出第二个示例无法编译后,我更正了它。很抱歉,但问题仍然存在......

最佳答案

您的第二个示例将无法编译,因为 getter 的值变量不存在。此外,setter 会导致同名的 StackOverflow 异常!

在 C# 3.0 中,您可以使用以下语法让编译器创建私有(private)支持变量:

public string MyVariable { get; set; }

不过,这不会为您提供第一个示例所具有的额外空值检查。如果您需要 setter 中的自定义逻辑,您可能必须坚持使用第一个示例的方法。

关于c# - C# 中正确的变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/427217/

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