- C#實踐教程(第2版)
- 李乃文
- 1127字
- 2021-03-19 18:15:35
2.4 常量
變量是值允許被改變的,而常量是值不允許被改變的。程序中總是存在一些數(shù)據(jù),這些數(shù)據(jù)的值長而復雜,容易出錯。使用常量來表示這些數(shù)據(jù),為數(shù)據(jù)定義一個簡易名稱來參與程序的編寫,既使程序簡單易懂,又使數(shù)據(jù)不易出錯。
如將數(shù)值3.1415926定義為常量Pi,該數(shù)值是圓周率,但在程序中使用3.1415926數(shù)值較長,容易出錯,而使用常量Pi替代數(shù)值,使程序清晰且不易出錯。
常量是指在使用過程中不會發(fā)生變化的量,C++中可以含有常量指針、指向常量的變量指針、常量方法和常量參數(shù),但是C#中已經刪除了某些細微的特性,只能把局部變量和字段聲明為常量。應用程序中使用常量的好處如下:
□ 常量使程序更加容易修改。
□ 常量能夠避免程序中出現(xiàn)更多的錯誤。
□ 常量使用易于理解的、清楚的名稱替代了含義不明確的數(shù)字或字符串,使程序更加方便閱讀。
常量也可以叫作常數(shù),它是在編譯時已知并且在程序運行過程中其值保持不變的值。C#中聲明常量需要使用const關鍵字,并且常量必須在聲明時初始化。如下代碼聲明并初始化了一個靜態(tài)常量:
class Program { public const string USERPHONE = "13213103456"; }
讀者也可以使用一個const關鍵字同時聲明多個常量,但是這些常量之間必須使用逗號進行分隔。代碼如下:
class Program { public const int P = 12, S = 23, M = 45, N = 55; }
注意
使用const關鍵字聲明常量時,通常使用大寫字母。如果沒有使用const,即使指定了固定的值,也不算是常量。
使用const關鍵字定義常量非常簡單,但是同時需要注意以下幾點:
□ const必須在字段聲明時就進行初始化操作。
□ const只能定義字段和局部變量。
□ const默認是靜態(tài)的,所以它不能和static同時使用。
□ const只能應用在值類型和string類型上,其他引用類型常量只能定義為null。否則會引發(fā)錯誤提示“只能用null對引用類型(string類型除外)的常量進行初始化”。
常量和變量經常會在程序開發(fā)中用到,但是什么情況下使用常量,什么情況下使用變量呢?很簡單,使用常量的情況一般有兩種:
□ 用于在程序中一旦設定就不允許被修改的值,如圓周率π。
□ 用于在程序中被經常引用的值,如銀行系統(tǒng)中的人民幣匯率。
如使用了常量和變量的程序,計算圓的面積,其執(zhí)行代碼和效果如練習2-3所示。
【練習2-3】
將圓周率定義為常量,將圓的半徑定義為變量,分別計算半徑為2和半徑為4的圓的面積,代碼如下:
int r = 2; //半徑變量的聲明和初始化 const double P = 3.14; //定義圓周率常量 Console.WriteLine("半徑2的圓,面積為:{0}", P * r * r); //輸出圓的面積 r = 4; //修改半徑的值為4 Console.WriteLine("半徑4的圓,面積為:{0}", P * r * r); //輸出圓的面積
按F5鍵運行上述代碼,其執(zhí)行結果如圖2-5所示。同樣輸出的是“P * r * r”表達式的值,由于變量值的改變,其輸出結果也不同。

圖2-5 求圓的面積
在練習3的例子中,變量的作用并沒有體現(xiàn)出來。在C#中,一個功能通常被定義為一個方法,而功能中需要賦值的變量是方法的參數(shù),為方法的參數(shù)賦值,運行該方法,即可實現(xiàn)需要的功能。
- AngularJS Testing Cookbook
- 小程序實戰(zhàn)視頻課:微信小程序開發(fā)全案精講
- 青少年軟件編程基礎與實戰(zhàn)(圖形化編程三級)
- Getting Started with CreateJS
- ASP.NET動態(tài)網頁設計教程(第三版)
- Angular開發(fā)入門與實戰(zhàn)
- Windows Embedded CE 6.0程序設計實戰(zhàn)
- Node.js開發(fā)指南
- 鴻蒙OS應用編程實戰(zhàn)
- Windows Phone 8 Game Development
- AV1視頻編解碼標準:原理與算法實現(xiàn)
- TypeScript全棧開發(fā)
- MongoDB Administrator’s Guide
- HikariCP數(shù)據(jù)庫連接池實戰(zhàn)
- Roslyn Cookbook