1.變數:變數是指在程式的執行過程中隨時可以發生變化的量。
語法:資料型別 變數名;
例如:
stra="
這是乙個字串";
2.常量:也稱常數,是一種恆定的或不可變的數值或資料項。
語法: const 資料型別 常量名 = 常量值;
例如:string
strconst="
我是常量喔";
3.資料型別:
在c#當中,分為兩種資料型別,值型別與引用型別.
值型別,表示實際資料,只是將值存放在記憶體中,值型別都儲存在堆疊中,包括:
簡單型別:int,char,float,double,bool等,還有結構及列舉.
引用型別,表示指向資料的指標或引用,包含記憶體堆中物件的位址,為 null時則表示未引用任何物件,包括:
類,介面,陣列,字串,委託,object.
有兩種引用型別在c#中受到了特別的重視,它們的c#別名和預定義值型別的c#別名很相像。第一種是object類(c#別名是object, o小寫)。這是所有值型別和引用型別的最終基類。因為所有的型別派生自object,所以可以把任何型別轉換為object型別,甚至值型別也可以轉換。所有的值型別都派生自引用型別。
第二種是string類。字串代表乙個固定不變的unicode字串行。字串在很多方面都像值型別,而不像引用型別。
4.型別轉換:
字串與值型別之間的轉換:
型別.parse(字串),返回值為相應的型別.
convert.to型別(引數),引數為多種,返回值為型別.
例:
void
main()
強制型別轉換:
在同為值型別或同為引用類時,從較小資料型別到較大資料型別的轉換稱為擴充套件轉換,否則稱為收縮轉換。編譯器能進行隱式的擴充套件轉換,對於收縮轉換必須進行顯式的強制性轉換。因為收縮轉換會導致丟失資料,在轉換前我們要檢查實際值是否超出目標型別的範圍。另乙個辦法是使用checked運算子,如果轉換時丟失資料將丟擲乙個錯誤。
如:void
main()
裝箱與拆箱
定義:把值型別轉換為object的過程稱為裝箱。
由於值型別與引用型別在記憶體中的儲存方式不同,所以我們在轉換的過程的理解上有些複雜,實際的語法跟強制型別轉換無區別,我們形象的稱之為裝箱,與拆箱.對於拆箱的限制其實很好理解,因為誰也不能從裝的是蘋果的箱子裡拆出葡萄來.
void
main()
關於這部分我們就先說到這裡,如果有朋友想更詳細的了解,下例**:
[url]
快速撐握C 知識點系列文章
首先,我寫這個系例只是為了那些想快速學習c 相關知識的朋友提供,可能有些知識點寫不到.請原諒 1.快速撐握c 知識點之什麼是c 及.net framework 2.快速撐握c 知識點之編寫乙個c 程式 3.快速撐握c 知識點之字串格式化,字面量,轉義符 4.快速撐握c 知識點之變數,型別及型別轉換 ...
快速撐握C 知識點系列之 struct 結構
1.引言 在我們之前的文章中,介紹了類及面象物件的基本概念,那我們也知道了類是引用型別,是儲存在託管堆中的。通過一定義類,我們可以在資料的生存期上得到很高的靈活性,但是也會讓程式的效能有一定的損失。雖然這種損失很小,但當我們只需要定義乙個很小的結構時,用類來定義就有些浪費,對於這樣的問題,c 有相對...
基本變數型別 和引用型別 知識點
ecmascript 變數可能包含兩種不同資料型別的值 基本型別值和引用型別值 基本型別值指的是儲存在棧記憶體的簡單的資料段,即這種值完全儲存在記憶體中的乙個位置。而引用型別值則是指那些儲存在堆記憶體中的物件,意思是變數中儲存的實際上只是乙個指標,這個指標指向記憶體中的另乙個位置,該位置儲存物件。基...