gpt4 book ai didi

c# - 得到;不能正常工作

转载 作者:行者123 更新时间:2023-11-30 13:36:34 26 4
gpt4 key购买 nike

对于一项学校作业,我应该制作一个可以以小时、分钟和秒为单位存储时间的时间类。一切正常,但仅声明 get 时属性总是返回 0;并设置;

private int seconds, minutes, hours;
public int Seconds { get; set; }
public int Minutes { get; set; }
public int Hours { get; set; }

如果我在 getter 中定义要返回的内容,它会正常工作:

private int seconds, minutes, hours;
public int Seconds { get { return this.seconds; } set { this.seconds = value; } }
public int Minutes { get { return this.minutes; } set { this.minutes = value; } }
public int Hours { get { return this.hours; } set { this.hours = value; } }

我真的不介意编写这些额外的代码,但据我所知,第一段代码应该可以正常工作。这是怎么回事?

最佳答案

您显示的代码还不够,但这确实意味着您不了解 auto-properties 是如何实现的。工作。它们不会神奇地与您的支持字段(secondsminuteshours)绑定(bind) - 它们创建自己的。

因此,更改支持字段的唯一方法是使用 setter - Seconds = 42;。我假设您正在使用 seconds = 42; 而不是,这不可能工作;您正在更改一个与 Seconds 属性无关的完全独立的字段。

关于c# - 得到;不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32346821/

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