我需要一些帮助来理解私有静态变量的使用

时间:2015-09-04 12:22:28

标签: c# static

我已经在这里阅读了一些关于私有静态的帖子,我想我不知何故得到了这个想法,但我仍然需要帮助我清理这个。

目前我正在上一节我没有写过的课程,我在开始private static string x时发现了这一课。

我从未遇到私有静态,只有常量或类似事物的公共静态。

现在针对我的问题:private static有什么优势?

我不确定我是否正确,但据我所知,它允许变量只能由此类方法访问,因为私有。 然而,静态部分告诉我该变量是唯一的并绑定到类,而不是绑定到它的对象,所以假设我们有5个包含private static string x的类的实例,所有5个实例在评估时总是具有相同的值x

这是对的吗?

2 个答案:

答案 0 :(得分:2)

是。它是此类的所有对象的“全局”变量。

答案 1 :(得分:0)

private static它对变量的封装很有用

例如java like enum

class MyEnum
{
    private static List<MyEnum> _values;
    public static Enumerable<MyEnum> Values {get { return _values.ToArray()}} 

    public static readonly FOO = new MyEnum('foo');
    public static readonly BAR = new MyEnum('bar')

    private MyEnum(string s)
    {
      //...
      _values.Add(this);
    }
}

正如您所看到的,我们有_values变量,无法从其他类访问。但是其他类可以通过Values获取只读副本。