乙個變數只不過是乙個供程式操作的儲存區的名字。在 c# 中,每個變數都有乙個特定的型別,型別決定了變數的記憶體大小和布局。範圍內的值可以儲存在記憶體中,可以對變數進行一系列操作。
我們已經討論了各種資料型別。c# 中提供的基本的值型別大致可以分為以下幾類:
型別舉例
整數型別
sbyte、byte、short、ushort、int、uint、long、ulong 和 char
浮點型float 和 double
十進位制型別
decimal
布林型別
true 或 false 值,指定的值
空型別可為空值的資料型別
c# 允許定義其他值型別的變數,比如 enum,也允許定義引用型別變數,比如 class。這些我們將在以後的章節中進行討論。在本章節中,我們只研究基本變數型別。
c# 中變數定義的語法:
;在這裡,data_type 必須是乙個有效的 c# 資料型別,可以是 char、int、float、double 或其他使用者自定義的資料型別。variable_list 可以由乙個或多個用逗號分隔的識別符號名稱組成。
一些有效的變數定義如下所示:
inti,j,k;charc,ch;floatf,salary;doubled;您可以在變數定義時進行初始化:
inti =100;變數通過在等號後跟乙個常量表示式進行初始化(賦值)。初始化的一般形式為:
variable_name =value;變數可以在宣告時被初始化(指定乙個初始值)。初始化由乙個等號後跟乙個常量表示式組成,如下所示:
= value;一些例項:
intd =3,f =5;/* 初始化 d 和 f. */bytez =22;/* 初始化 z. */doublepi =3.14159;/* 宣告 pi 的近似值 */charx ='x';/* 變數 x 的值為 'x' */正確地初始化變數是乙個良好的程式設計習慣,否則有時程式會產生意想不到的結果。
請看下面的例項,使用了各種型別的變數:
namespacevariabledefinition, b = , c = ",a,b,c);console.readline();}}}當上面的**被編譯和執行時,它會產生下列結果:
a =10,b =20,c =30system 命名空間中的 console 類提供了乙個函式 readline(),用於接收來自使用者的輸入,並把它儲存到乙個變數中。
例如:
intnum;num =convert.toint32(console.readline());函式 convert.toint32() 把使用者輸入的資料轉換為 int 資料型別,因為 console.readline() 只接受字串格式的資料。
c# 中的兩種表示式:
lvalue:lvalue 表示式可以出現在賦值語句的左邊或右邊。
rvalue:rvalue 表示式可以出現在賦值語句的右邊,不能出現在賦值語句的左邊。
變數是 lvalue 的,所以可以出現在賦值語句的左邊。數值是 rvalue 的,因此不能被賦值,不能出現在賦值語句的左邊。下面是乙個有效的語句:
intg =20;下面是乙個無效的語句,會產生編譯時錯誤:
10=20;不同型別變數進行運算的問題:
doublea =42.29;intb =4229;intc =a +b;console.writeline("c = ",c);console.readkey();
"無法將型別'double'隱式轉換為'int'。"舉例說明,當乙個精度高的資料型別與乙個精度低的資料型別進行運算時,定義運算結果的變數型別必須與精度最高的變數型別相同。這是為了防止在運算過程中造成資料丟失。
下面是正確**:
doublea =42.29;intb =4229;doublec =a +b;console.writeline("c = ",c);console.readkey();能輸出運算結果:
c =4271.29
重拾C 教程 環境
在這一章中,我們將討論建立 c 程式設計所需的工具。我們已經提到 c 是 net 框架的一部分,且用於編寫 net 應用程式。因此,在討論執行 c 程式的可用工具之前,讓我們先了解一下 c 與 net 框架之間的關係。net 框架是乙個創新的平台,能幫您編寫出下面型別的應用程式 net 框架應用程式...
重拾C 教程 封裝
封裝被定義為 把乙個或多個專案封閉在乙個物理的或者邏輯的包中 在物件導向程式設計方 中,封裝是為了防止對實現細節的訪問。抽象和封裝是物件導向程式設計的相關特性。抽象允許相關資訊視覺化,封裝則使開發者實現所需級別的抽象。c 封裝根據具體的需要,設定使用者的訪問許可權,並通過訪問修飾符來實現。乙個訪問修...
重拾C 教程 列舉
列舉是一組命名整型常量。列舉型別是使用enum關鍵字宣告的。c 列舉是值型別。換句話說,列舉包含自己的值,且不能繼承或傳遞繼承。宣告列舉的一般語法 enum 其中,列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值。預設情況下,第乙個列舉符號的值是 0.例如 enum days 下面的...