第二章 深入C 資料型別

2022-08-17 21:36:21 字數 1481 閱讀 5360

資料型別按儲存方式可分為兩類:

值型別(源於system.valuetype)

引用型別(源於system.object)

結構的定義:

結構中可以有字段也可以有方法

定義時,結構中的字段不能被賦初值

結構的使用:

可以不用new,直接定義結構的物件即可

(前提該屬性的型別不是數值型別)

宣告結構的物件後,必須給結構的成員賦初值

*結構是值型別類是引用型別

結構體中沒有預設建構函式,但類中有預設建構函式

裝箱和拆箱:

由於裝箱和拆箱對系統效能損耗很大,所以在真實的開發中我們盡量避免裝箱和拆箱的操作。

值方式引數傳遞:

在值方式引數傳遞時,引數可以是引用型別也可以是值型別

*值傳遞和引用傳遞判定依據沒有ref

如果方法的引數型別本身就是引用型別,那麼對引數值的修改會永久儲存

例如:public void tp(se se)

se.count++;//真正的修改se物件的count值

如果方法的引數型別本身是值型別,又沒有ref修飾,那麼對引數值的修改,不會永久儲存()

如果方法的引數型別本身是值型別,但是有ref修飾,那麼物件引數值的修改,也會永久儲存。

值型別傳遞 :不帶ref的引數傳遞   se se

引用型別傳遞:帶ref的引數傳遞

一道練習題:

題目:專案經理評分

實現思路:1.建立myoffice專案,建立員工類(se),專案經理類(pm)

實現**:

class se

public string name

public int age

public string assess

public int popularity

}2.建立檢視評分窗體(frmshow),新增定義員工陣列,將員工資料繫結到frmshow窗體的listview控制項上

實現**:

se se = new se[3];

private void frmshow_load(object sender, eventargs e)

///

/// 展示員工資訊

///

private void loadshow()

}3.雙擊listview列表,彈出評分窗體(frmjudge),進行顯示

實現**:

private void frmjudge_load(object sender, eventargs e)

4.專案經理填寫評分,評價後,彈出frmjudge窗體關閉,重新整理父窗體frmshow中的員工資訊

實現**:

///

/// 對員工資訊修改

///

private void clickupdate()

*方法呼叫

*值型別和引用型別

*物件陣列作為引數

*窗體間資料傳遞

第二章 資料型別

1byte 8bit 1kb 1024byte 1mb 1024kb 1gb 1024mb 1tb 1024gb intfloat 用float計算精度會不準確,需要匯入decimal模組 strbool true,false int 可以將整數型的str和float,bool轉換成int str ...

Python第二章資料型別

基本資料型別 python 中的變數不需要宣告。每個變數在使用前都必須賦值,變數賦值 以後該變數才會被建立。python 中,變數就是變數,它沒有型別,我們所說的 型別 是變數所指的記憶體中物件的型別。等號 用來給變數賦值。等號 運算子左邊是乙個變數名,等號 運算子右邊是儲存在變數中的值。例如 x ...

C 第二章(資料型別)之三

引用型別 引用reference,有時候又稱為別名 alias 它可以用作物件的另乙個名字 通過引用,我們可以間接地操縱物件 其使用方式類似於指標,但是不需要指標的語法 在實際的程式中,引用主要被用作函式的形式引數 通常將類物件,傳遞給乙個函式 這個特性最主要的是在函式中用來傳遞乙個類的引用,見類的...