1.資料型別分為值型別和引用型別。
值型別主要包含簡單型別、結構型別和列舉型別。引用型別包括類、託管、陣列和介面。值型別的變數其內含為變數的值本身;c#語言中的另一大資料型別是引用型別,引用型別也稱為參考型別。和值型別相比,引用型別的變數不直接儲存所包含的值,而是指向它所要儲存的值。換句話說,值型別在其記憶體空間中儲存的是實際資料,而引用型別在其記憶體空間中儲存的是乙個指標,該指標指向儲存資料的另一塊記憶體位置。
介紹兩個經常用到的類:
(1)object類
object類是所有其它型別的基類,c#語言中的所有型別都直接或間接地從object類中繼承。因此,對乙個object的變數可以賦予任何型別的值:
float f = 63.8 ;
object obj1 ;
obj1 = f ;
(2)string類
c#還定義了乙個基本的類string,表示乙個unicode字串行,專門用於對字串的操作。
2.可以從下面四個層面來理解變數:變數的名字、變數的值、變數的資料型別、變數的作用域。
靜態變數作用域:帶有「static」修飾符宣告的成員變數為靜態成員變數。當靜態成員變數所屬類被裝載後,靜態成員變數生命週期開始,直到包含該所屬類的程式執行結束後,靜態成員變數生命週期結束。在c#中不存在類似其他語言的全域性變數,使用公共靜態成員變數可以實現類似的效果。
例項變數作用域:不帶 「static」修飾符宣告的變數為例項成員變數。當乙個類的例項被建立,其實例成員變數生命週期開始,直到該例項不在被使用且所占用記憶體空間被釋放,其實例成員變數生命週期結束。例項成員變數和該類的具體例項具有相同的生命週期。
方法引數作用域:方法引數變數的生命週期只在該方法的語句塊記憶體在,方法被呼叫時,它的生命週期開始,方法執行完畢,它的生命週期結束。
區域性變數作用域:區域性變數在其被定義的位置,生命週期開始,直到該區域性變數被定義的語句塊執行結束後,該區域性變數的生命週期結束。
異常處理引數作用域:異常處理引數變數的生命週期只在錯誤處理語句塊內(即catch語句塊內)存在。變數的訪問修飾符限制了變數的可見性,可以用public | protected | private | internal | protected internal 等來限制,如果不使用修飾符,預設情況下為private。
3.一維陣列是最基本的陣列型別,其宣告方法如下:
資料型別 [ ] 陣列名 ;
舉例:int [ ] anarray ; // 宣告乙個整型的一維陣列
具有兩個維度的陣列是二維陣列,其宣告方法如下:
資料型別 [ , ] 陣列名 ;
舉例:int [ , ] anarray ; // 宣告乙個整型的二維陣列
float [ , ]anarrayoffloats; // 宣告乙個浮點型的二維陣列
string [ , ] anarrayofstrings; // 宣告乙個字串型的二維陣列
宣告陣列變數時,還沒有建立陣列,還沒有為陣列中元素分配任何記憶體空間,因此,宣告陣列後,需要對陣列例項化:
anarray = new int [2,4] ;
anarrayofstrings = new stirng [2,4] ;
我們也可以用給定的值對陣列元素進行初始化。
int [, ] anarray = new int [2, 4] ,};
string [, ] anarrayofstrings = new string [2, 2] , };
也可使用下列快捷方式:
int [, ] anarray = ,};
string [, ] anarrayofstrings = , };
在c#語言中,陣列為我們提供了一些有用的特性,利用這些特性,我們可以完成一些更高階的功能。
陣列名.length :返回乙個整數,該整數表示該陣列的所有維數中元素的總數。
陣列名.rank :返回乙個整數,該整數表示該陣列的維數。
陣列名.getlength(int dimension) :返回乙個整數,該整數表示該陣列的指定維(由引數dimension指定,維度從零開始)中的元素個數。
4.foreach語句針對陣列或集合中的每乙個元素,迴圈執行嵌入語句。foreach語句的語法格式為:
foreach (資料型別 識別符號 in 表示式)
嵌入語句
5.為了簡潔**,c#語言中使用using語句來匯入命名空間。
using 語句一般情況下被放在所有語句的前面。每個原始檔中可以使用多個using語句,每行乙個語句。比如:
using system ;
C語言基礎一
命令語句都是在蘋果終端下使用的。編譯 cc c hello.c 把源 變成二進位制檔案 目標檔案 cc one.o two.o three.o 預設生成可執行檔案a.out cc o task one.o 生成可執行檔案task 執行 1 在終端輸入 a.out 2 雙擊a.out檔案,選擇用終端執...
c語言基礎(一)
雙精度和單精度 數字後帶f的是單精度float,不帶的是雙精度double,單精度儲存的範圍是雙精度的倍數,兩種都屬於浮點型,當整數部分位數太多時候,小數部分很可能被遺失。ascii碼中0 31和127是不可以在鍵盤中輸入的。除了轉義字元 字元常量 a 單引號包含乙個 x和兩個16進製制數 任何0 ...
C語言基礎 一
一 語言的發展 1 機器語言 特點 a.或稱為二進位制 語言,計算機可以直接識別,不需要做任何翻譯.b.是第一代的計算機語言.c.使用時難記憶難操作編寫出來的程式全是由0和1的數字組成,直觀性差,難以閱讀,不僅難學,難記難檢查,又缺乏通用性.2.十進位制轉為二進位制 將十進位制除以2的餘數寫出來 直...