C# 中的静态变量

发布于 2024-07-20 02:13:29 字数 98 浏览 5 评论 0 原文

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

Static myCollection As Collection

In C#, is there a way to put a static variable in a method like VB.Net?

Static myCollection As Collection

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

萧瑟寒风 2024-07-27 02:13:30

不,没有,但这与在类级别使用静态变量有什么不同?

实际上,如果您研究共享是如何实现的,这是一个编译器技巧,它会创建类上的静态字段。

No there isn't but how is this different then having a static variable at the class level?

Actually if you look into how shared is implemented, it is a compiler trick that creates a static field on the class.

叹倦 2024-07-27 02:13:30

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

The closest thing to VB.NET's Static is to create a field in the current type. Other than that C# has no equivalent.

撧情箌佬 2024-07-27 02:13:30

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

No, The CLR does not support this, and VB.NET resorts to compiler tricks to allow it. Ugh.

守护在此方 2024-07-27 02:13:30

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

public const Collection myCollection = new Collection();

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

I'm pretty sure the C# equivalent is const: therefore:

public const Collection myCollection = new Collection();

I'm not too familiar with VB.NET, so I could be off base, but that will allow you set a variable which cannot be changed.

狠疯拽 2024-07-27 02:13:29

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

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

答:C# 不这样做有两个原因
有这个功能。

首先,可以得到近
具有相同的效果
类级静态,并添加方法
静力学需要增加
复杂性。

其次,方法级别的静态数据是
有点臭名昭著的原因
调用代码时出现问题
重复或来自多个线程,
并且由于定义位于
方法,比较难找到
定义。

-- msdn c# 常见问题解答

Why doesn't C# support static method
variables?

Q: In C++, it's possible to write a
static method variable, and have a
variable that can only be accessed
from inside the method. C# doesn't
provide this feature. Why?

A: There are two reasons C# doesn't
have this feature.

First, it is possible to get nearly
the same effect by having a
class-level static, and adding method
statics would require increased
complexity.

Second, method level statics are
somewhat notorious for causing
problems when code is called
repeatedly or from multiple threads,
and since the definitions are in the
methods, it's harder to find the
definitions.

-- msdn c# faq

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文