【问题标题】:C# fields and properties [duplicate]C# 字段和属性 [重复]
【发布时间】:2011-06-19 00:44:22
【问题描述】:

可能重复:
What is the difference between a field and a property in C#

我不明白类中字段和属性之间的区别。

【问题讨论】:

标签: c# properties field


【解决方案1】:

字段是信息的存储位置。例如,如果该字段的类型为 int,它存储一个 32 位整数(从大约负 40 亿到大约正 40 亿的数字)。

属性几乎就像一个方法或一对方法。这只是代码。没有存储。例如,而不是

public int FortySeven
{
    get
    {
        return 47;
    }
}

你也可以写

public int GetFortySeven()
{
    return 47;
}

这或多或少是一样的;唯一的区别是你写FortySeven(没有括号)但GetFortySeven()(有括号)。

当然,属性也可以有一个setter,也就是说

public int FortySeven
{
    set
    {
        Console.WriteLine(value);
    }
}

差不多
public void SetFortySeven(int value)
{
    Console.WriteLine(value);
}

现在你写SetFortySeven(47)而不是FortySeven = 47,但除此之外它在功能上是相同的。

自动实现的属性如下所示:

public int MyProperty { get; set; }

这段代码声明了一个字段和一个属性,但该字段是不可见的,您只能访问该属性。它使用不可见的字段进行存储。

【讨论】:

    猜你喜欢
    • 2012-02-05
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2010-10-13
    相关资源
    最近更新 更多