gpt4 book ai didi

c# - `static` 在 C# 中是什么意思?

转载 作者:IT王子 更新时间:2023-10-29 03:52:16 26 4
gpt4 key购买 nike

我对 C# 中 static 关键字的真正含义感到很困惑。我浏览了互联网上的不同文章,但没有一篇真正帮助我理解它的含义,而且其他来源也不可信。我知道 Stack Overflow 有一些聪明的头脑可以帮助我理解 static like 的真正含义

  • 当它们被初始化时。
  • 静态方法、属性、类和构造函数
  • 静态与只读与常量

最佳答案

简而言之,static 实际上意味着“与类型相关联,而不是与该类型的任何一个实例相关联”。所以对于一个类型(在 AppDomain 中),无论您有 0 个实例还是一百万个实例,都有一组静态变量;您不需要实例来访问静态成员等。

静态变量的确切初始化点取决于是否还有静态构造函数,但从广义上讲,它是“一次,通常在类中发生任何重要事件之前”。 (有关更详细的说明,请参阅 this blog post。)

虽然 readonly 字段可以是静态的或实例的(即与类型相关或与类型的实例相关),const始终 隐式静态(它们是编译时常量,因此每个实例都有一个副本没有意义)。

您有时可能会看到 static 被描述为“在一个类型的所有实例之间共享”——我个人不喜欢这种描述,因为它暗示必须在至少一个实例...而实际上,您不需要任何实例来使用静态成员。我更愿意将它们视为完全独立的,而不是在实例之间“共享”。

关于c# - `static` 在 C# 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9410688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com