在C#中,有没有办法将静态变量放在像VB.Net这样的方法中?
Static myCollection As Collection
答案 0 :(得分:21)
为什么C#不支持静态方法 变量
问:在C ++中,可以编写一个 静态方法变量,并有一个 只能访问的变量 从方法内部。 C#没有 提供此功能。为什么呢?
答:C#没有两个原因 有这个功能。
首先,几乎可以得到 有一个相同的效果 类级静态和添加方法 静力学需要增加 复杂性。
其次,方法级静态是 有点臭名昭着的原因 调用代码时出现问题 反复或来自多个线程, 因为定义是在 方法,很难找到 定义
答案 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不太熟悉,所以我可能会偏离基础,但这样你就可以设置一个无法更改的变量。