006 C#類型哟玷、變量與對(duì)象詳解
目錄
*什么是類型
*類型在C#語言中的作用
*C#語言的類型系統(tǒng)
*變量、對(duì)象與內(nèi)存
什么是類型
1)又名數(shù)據(jù)類型
*性質(zhì)相同的值,的集合待逞,配備了一套專門針對(duì)自己類型的操作
*是數(shù)據(jù)在內(nèi)存中存儲(chǔ)時(shí)的型號(hào)
*存儲(chǔ)器--》內(nèi)存
*硬盤加載到內(nèi)存中去運(yùn)行酒繁,有沒有浪費(fèi)內(nèi)存孽惰,有沒有內(nèi)存泄漏的問題
*內(nèi)存就是計(jì)算機(jī)運(yùn)行的空間
*外存:擴(kuò)展存儲(chǔ)器(硬盤)
*小內(nèi)存容納大尺寸數(shù)據(jù)會(huì)丟失精確度、發(fā)生錯(cuò)誤
*大內(nèi)存容納小尺寸數(shù)據(jù)碑隆,會(huì)導(dǎo)致浪費(fèi)
*編程語言的數(shù)據(jù)類型與數(shù)學(xué)中的數(shù)據(jù)類型不完全相同
2)強(qiáng)類型語言與弱類型語言的比較
*C語言示例:if條件
*JavaScript示例:動(dòng)態(tài)類型
*C#語言對(duì)弱類型/動(dòng)態(tài)類型的模仿
類型在C#語言中的作用
1)一個(gè)C#類型中所包含的信息有:
*存儲(chǔ)此類型變量所需的內(nèi)存空間大泄Ф浮(singed+unsigned)
*此類型的值可表示的最大、最小值范圍
*此類型所包含的成員(如方法上煤、屬性休玩、事件等)
1. 靜態(tài)用處(沒有執(zhí)行的時(shí)候,就是靜態(tài))
2. 動(dòng)態(tài)用處(一旦執(zhí)行起來了劫狠,就是動(dòng)態(tài)時(shí)期)
3. 反射
*此類型由何基類派生而來
*程序運(yùn)行的時(shí)候拴疤,此類型的變量在分配在內(nèi)存的什么位置
靜態(tài)的時(shí)候,在硬盤独泞。動(dòng)態(tài)的時(shí)候呐矾,在內(nèi)存
1. stack簡(jiǎn)介(棧)
2. stack overflow(因?yàn)樾⌒〉模瑫?huì)爆)
3. heap簡(jiǎn)介(堆)
4. 使用performance monitor查看進(jìn)程的堆內(nèi)存使用量
5. 關(guān)于內(nèi)存泄漏
1)實(shí)例永遠(yuǎn)在堆里
2)變量可選擇
*此類型所允許的操作運(yùn)算
Performance Monitor counter問題
PS C:\Windows\system32> cmd
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.
C:\Windows\system32>lodctr /R
Error: Unable to rebuild performance counter setting from system backup store, error code is 2
C:\Windows\system32>cd ..
C:\Windows>cd syswow64
C:\Windows\SysWOW64>lodctr /R
Info: Successfully rebuilt performance counter setting from system backup store