最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析C#中的常量及如何在C#編程中定義常量

 更新時間:2016年01月29日 15:28:53   投稿:goldensun  
這篇文章主要介紹了C#中的常量及如何在C#編程中定義常量,是C#入門學習中的基礎知識,需要的朋友可以參考下

常量是在編譯時已知并在程序的生存期內不發(fā)生更改的不可變值。常量使用 const 修飾符進行聲明。只有 C# 內置類型(System.Object 除外)可以聲明為 const。
用戶定義的類型(包括類、結構和數(shù)組)不能為 const。請使用 readonly 修飾符創(chuàng)建在運行時初始化一次即不可再更改的類、結構或數(shù)組。
C# 不支持 const 方法、屬性或事件。
可以使用枚舉類型為整數(shù)內置類型(例如 int、uint、long 等等)定義命名常量。
常量必須在聲明時初始化。例如:

class Calendar1
{
  public const int months = 12;
}

在此示例中,常量 months 始終為 12,不可更改,即使是該類自身也不能更改它。實際上,當編譯器遇到 C# 源代碼(例如 months)中的常量修飾符時,將直接把文本值替換到它生成的中間語言 (IL) 代碼中。因為在運行時沒有與常量關聯(lián)的變量地址,所以 const 字段不能通過引用傳遞,并且不能在表達式中作為左值出現(xiàn)。
System_CAPS_note注意
當引用在其他代碼如 DLL 中定義的常量值時應十分謹慎。如果新版本的 DLL 為常量定義了新的值,程序仍將保留舊的文本值,直到針對新版本重新編譯程序。
可以同時聲明多個相同類型的常量,例如:

class Calendar2
{
  const int months = 12, weeks = 52, days = 365;
}

如果不會造成循環(huán)引用,用于初始化一個常量的表達式可以引用另一個常量。例如:

class Calendar3
{
  const int months = 12;
  const int weeks = 52;
  const int days = 365;

  const double daysPerWeek = (double) days / (double) weeks;
  const double daysPerMonth = (double) days / (double) months;
}

常量可標記為 public、private、protected、internal 或 protectedinternal。這些訪問修飾符定義類的用戶訪問該常量的方式。有關更多信息,請參見 訪問修飾符(C# 編程指南)。
因為常量值對該類型的所有實例是相同的,所以常量被當作 static 字段一樣訪問。不使用 static 關鍵字聲明常量。未包含在定義常量的類中的表達式必須使用類名、一個句點和常量名來訪問該常量。例如:

int birthstones = Calendar.months;

如何在 C# 中定義常量
常量是在編譯時設置其值并且永遠不能更改其值的字段。 使用常量可以為特殊值提供有意義的名稱以代替數(shù)字文本(“幻數(shù)”)。
若要定義整數(shù)類型(int、byte 等)的常量值,請使用枚舉類型。 有關更多信息,請參見 enum(C# 參考)。
若要定義非整型常量,一種方法是將它們分組到單個名為 Constants 的靜態(tài)類中。 這要求對常量的所有引用都使用該類名作為前綴,如下面的示例所示。
示例

static class Constants
{
  public const double Pi = 3.14159;
  public const int SpeedOfLight = 300000; // km per sec.

}
class Program
{
  static void Main()
  {
    double radius = 5.3;
    double area = Constants.Pi * (radius * radius);
    int secsFromSun = 149476000 / Constants.SpeedOfLight; // in km
  }
}


使用類名限定符有助于確保您和使用常量的其他人了解到它是常量并且不能修改。

相關文章

  • C#實現(xiàn)終止正在執(zhí)行的線程

    C#實現(xiàn)終止正在執(zhí)行的線程

    這篇文章主要介紹了C#實現(xiàn)終止正在執(zhí)行的線程的方法,針對臨界資源等容易出現(xiàn)錯誤的地方進行了分析,并提出了改進方案與實例,需要的朋友可以參考下
    2014-09-09
  • C#實現(xiàn)無損壓縮圖片代碼示例

    C#實現(xiàn)無損壓縮圖片代碼示例

    這篇文章介紹了C#實現(xiàn)無損壓縮圖片的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#自定義處理xml數(shù)據(jù)類實例

    C#自定義處理xml數(shù)據(jù)類實例

    這篇文章主要介紹了C#自定義處理xml數(shù)據(jù)類,涉及C#針對XML的打開、讀寫等常用操作,并將其封裝進一個類中以便于調用,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • C# 實現(xiàn)階乘 (遞歸,非遞歸) 實現(xiàn)代碼

    C# 實現(xiàn)階乘 (遞歸,非遞歸) 實現(xiàn)代碼

    C# 實現(xiàn)階乘 (遞歸,非遞歸) 實現(xiàn)代碼,需要的朋友可以參考一下
    2013-05-05
  • 基于WPF實現(xiàn)用戶頭像選擇器的示例代碼

    基于WPF實現(xiàn)用戶頭像選擇器的示例代碼

    這篇文章主要為大家詳細介紹了如何基于WPF實現(xiàn)用戶頭像選擇器,文中的示例代碼簡潔易懂,對我們學習WPF有一定幫助,感興趣的可以了解一下
    2022-07-07
  • c# 開發(fā)文字識別軟件

    c# 開發(fā)文字識別軟件

    這篇文章主要介紹了c# 開發(fā)文字識別軟件的方法,幫助大家更好的利用c#進行文字識別,感興趣的朋友可以了解下
    2020-12-12
  • C#的String和StringBuilder詳解

    C#的String和StringBuilder詳解

    這篇文章主要介紹了C#的String和StringBuilder詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • C#表達式樹(Expression Trees)的使用

    C#表達式樹(Expression Trees)的使用

    本文主要介紹了C#表達式樹(Expression Trees)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-06-06
  • 詳細介紹C# 泛型

    詳細介紹C# 泛型

    這篇文章主要介紹了C# 泛型的相關資料,幫助大家更好的理解和學習C#,感興趣的朋友可以了解下
    2020-08-08
  • 解析C#網(wǎng)絡編程中的Http請求

    解析C#網(wǎng)絡編程中的Http請求

    這篇文章主要介紹了C#網(wǎng)絡編程中的Http請求,不過這次也使我對C#網(wǎng)絡編程了解的更多,算是一次學習經(jīng)歷吧,文章結合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-03-03

最新評論

陵水| 旅游| 鄂尔多斯市| 济源市| 南乐县| 扶绥县| 河南省| 德昌县| 蕲春县| 聂拉木县| 文水县| 冀州市| 高雄市| 通州市| 固阳县| 镇平县| 华亭县| 双桥区| 元谋县| 宁晋县| 恩施市| 中方县| 江安县| 石柱| 兴文县| 惠州市| 胶州市| 江永县| 屏南县| 凤凰县| 吉水县| 南川市| 临邑县| 曲麻莱县| 会东县| 宝坻区| 和田市| 南汇区| 岑巩县| 吴旗县| 满洲里市|