【问题标题】:Confused about a bit of c# code对一些 c# 代码感到困惑
【发布时间】:2015-07-12 18:57:24
【问题描述】:

我需要有人帮助我理解这段 C# 代码:

public Teacher[] Teachers { get; set; }

我可以看到这是一个数组,但是可以使用 get,在此处设置而不是:

public Teacher[] Teachers = new Teacher[4];

【问题讨论】:

  • 我不明白你的问题。你的意思是使用字段而不是属性可以吗?
  • 这称为自动实现的属性。 read here.
  • 我们被要求创建一个教师数组,我看到有人把它写成属性,我将这段代码粘贴到 Visual Studio 中,它没有抱怨。所以我对此感到困惑。
  • 看看thisthis的问题。

标签: c#


【解决方案1】:
public Teacher[] Teachers { get; set; }

这会创建一个名为 Teachers 类型的 属性 Teacher[]

public Teacher[] Teachers = new Teacher[4];

这会创建一个名为Teachers 类型为Teacher[]字段,并将其初始化为长度为4。

您可以在类构造函数中初始化一个属性:

public class TestClass
{
    public Teacher[] Teachers { get; set; }

    public TestClass()
    {
       Teachers = new Teacher[4];
    }
}

阅读here 了解属性和字段之间的区别。

【讨论】:

  • 我认为如果您说您的第一个示例代码行创建两个属性和(隐藏)字段会更正确。
  • 谢谢你们的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-28
  • 1970-01-01
  • 2012-10-05
  • 1970-01-01
  • 2010-10-28
  • 2016-06-22
  • 1970-01-01
相关资源
最近更新 更多