繁体   English   中英

C#静态和常量有什么区别?

[英]C# What is the difference between static and constant?

正如它所说。 我将要在我正在编写的程序中定义一个常量或静态值,并且对于为什么要使用其中一个而感到困惑。 作为我在询问这个问题时遇到的唯一相关问题涉及想要立即标记静态和常数的人,我怀疑我不是唯一一个对这些概念有点失落的人。

那么为什么我会使用静态,为什么我会使用常量? 有什么区别? 他们是同义词吗? 如果是这样,那很酷,但如果不是,为什么不呢? 谢谢!

const在编译时处理。 每个对该常量的引用都被常量值替换。

static是非常不同的。 它是一个仅存在一次但属于该类型的所有对象的变量。 它可以编辑,除非标记为readonly (或给定一个getter但没有setter)。 如果它被标记为readonly那么它本质上是一个常量,但它在运行时处理,而不是由编译器处理。

首先,它们不是同义词。

  • static将成员标记为属于该类型
  • const表示不能更改成员 该值在编译时确定,并替换它出现的任何位置。

为了更好地理解static使用方式,请阅读Static Classes and Static Members

五分钟之后,我发现这一点,你不知道吗?

还有其他意见吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM