gpt4 book ai didi

c# - 在 C# 中使用自动实现的属性是正确的方法吗

转载 作者:太空狗 更新时间:2023-10-29 23:56:15 25 4
gpt4 key购买 nike

我想为一个属性分配一些默认值,或者想替换一些字符,如下所示。这是一个正确的语法还是我应该通过创建一个变量来做到这一点。

 public string Login_Name 
{
get
{ return this.Login_Name; }
set { this.Login_Name = value.Replace("'", "''"); }
}

最佳答案

通过访问 Login_Nameget 将再次返回 Login_Name,使您陷入无限循环 (StackOverflowException)。

您应该使用属性来获取和设置私有(private)成员:

public string Login_Name
{
get
{
return _login_Name;
}
set
{
_login_Name = value;
if (!string.IsNullOrEmpty(_login_Name))
{
_login_Name = _login_Name.Replace("'", "''");
}
}
}
private string _login_Name;

如果您打算使用 auto-implemented属性,它看起来像这样:

public string Login_Name {get;set;}

但是自动实现的属性不能将任何附加逻辑应用于它们的获取或设置。

关于c# - 在 C# 中使用自动实现的属性是正确的方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3107957/

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