我已经在这里阅读了一些关于私有静态的帖子,我想我不知何故得到了这个想法,但我仍然需要帮助我清理这个。
目前我正在上一节我没有写过的课程,我在开始private static string x
时发现了这一课。
我从未遇到私有静态,只有常量或类似事物的公共静态。
现在针对我的问题:private static
有什么优势?
我不确定我是否正确,但据我所知,它允许变量只能由此类方法访问,因为私有。
然而,静态部分告诉我该变量是唯一的并绑定到类,而不是绑定到它的对象,所以假设我们有5个包含private static string x
的类的实例,所有5个实例在评估时总是具有相同的值x
。
这是对的吗?
答案 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获取只读副本。