C#中的静态变量

时间:2009-05-08 15:27:49

标签: c# variables static-variables

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

Static myCollection As Collection

5 个答案:

答案 0 :(得分:21)

  

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

     

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

     

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

     

首先,几乎可以得到   有一个相同的效果   类级静态和添加方法   静力学需要增加   复杂性。

     

其次,方法级静态是   有点臭名昭着的原因   调用代码时出现问题   反复或来自多个线程,   因为定义是在   方法,很难找到   定义

     

- msdn c# faq

答案 1 :(得分:5)

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

Actually if you look如何实现共享,这是一个在类上创建静态字段的编译器技巧。

答案 2 :(得分:3)

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

答案 3 :(得分:1)

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

答案 4 :(得分:-6)

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

public const Collection myCollection = new Collection();

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