C#中的静态变量

在C#中,有没有办法将静态变量放在像VB.Net这样的方法中?

Static myCollection As Collection 

为什么C#不支持静态方法变量?

问:在C ++中,可以编写一个静态方法变量,并且只能从方法内部访问变量。 C#不提供此function。 为什么?

答:C#没有这个function有两个原因。

首先,通过使用类级静态可以获得几乎相同的效果,并且添加方法静态将需要增加复杂性。

其次,当重复调用代码或从多个线程调用代码时,方法级静态有点臭名昭着,并且由于定义在方法中,因此很难找到定义。

– msdn c#faq

不,没有,但在类级别有一个静态变量,这有什么不同?

实际上,如果你看一下如何实现共享,那么它就是一个编译技巧,可以在类上创建一个静态字段。

与VB.NET的Static最接近的是在当前类型中创建一个字段。 除了那个C#没有等价物。

不,CLR不支持这一点,VB.NET采用编译器技巧来允许它。 啊。

我很确定C#等价物是const :因此:

 public const Collection myCollection = new Collection();

我对VB.NET不太熟悉,所以我可能会偏离基础,但这将允许你设置一个无法更改的变量。