gpt4 book ai didi

C# getter/setter 对

转载 作者:行者123 更新时间:2023-11-30 13:23:21 24 4
gpt4 key购买 nike

我正在尝试使用以下 getter 和 setter 创建一个属性 i。我试过:

    int i { 
get{
return i;
}
set {
if (value > 60) {
} else {
i = value;
}
}

}

但是,当我尝试执行此操作时,我在尝试运行代码时遇到堆栈溢出错误。我的代码有什么问题吗?任何 Assistane 将不胜感激。

最佳答案

如果你的属性中有任何类型的逻辑,你需要一个支持字段(否则自动属性是要走的路) - 当前你正在分配给属性本身,它再次调用你的 setter 代码(同样用于 getter) -导致 Stackoverflow 异常。

例子:

private int _i;
public int SomeProperty
{
get{ return _i;}
set
{
//your logic here
_i = value;
}
}

关于C# getter/setter 对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12756804/

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