簡體   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