C#中的变量类型(值类型、引用类型)
C#中的變量類型:
?
值類型:值類型直接存儲(chǔ)的是變量的值,變量空間在棧上分配,分配速度比較快。給變量賦值時(shí)需注意變量類型的取值范圍,給變量賦不合理的值會(huì)導(dǎo)致編譯器報(bào)錯(cuò)。布爾類型的變量只有兩種可選擇的值true/false,布爾值的默認(rèn)值是false。
- 整型:sbyte、short、int、long、byte、ushort、uint、ulong
- 浮點(diǎn)型:float 、double、decimal
小數(shù)默認(rèn)為double類型,若需指定小數(shù)值的類型則可以在小數(shù)后加f或F,如1.234f或1.234F表示該值為float類型,如2.345d或2.345D表示該值為double類型。
需要注意浮點(diǎn)類型中的特殊類型decimal類型,該類型一般在貨幣計(jì)算等需要高精度數(shù)據(jù)的場(chǎng)合中使用。
float 、double、decimal的對(duì)比:
float 有效數(shù)字7位,范圍bai ±1.5 × 10E?45 to ±3.4 × 10E38
? ? ? ?double 有效數(shù)字15/16 位,范圍 ±5.0 × 10 E?324 to ±1.7 × 10E308
? ? ? ?decimal 有效數(shù)字 28/29 位,范圍 ±1.0 × 10E?28 to ±7.9 × 10E28
1)表示數(shù)的范圍 decimal<float<double,其中decimal表示數(shù)的范圍最小而不是最大
2)表示數(shù)的精度f(wàn)loat<double<decimal,其中decimal表示的數(shù)的精度最高
- 字符型:char
- 布爾型:bool
布爾類型的變量只有兩種可選擇的值true/false,布爾值的默認(rèn)值是false。
- 結(jié)構(gòu)類型:struct
- 枚舉類型:enum
?
引用類型:引用類型存儲(chǔ)對(duì)值的引用,class、interface、delegate、object、string、Array
C#中預(yù)定義的引用類型有兩種,為object和string類型。
- object類
object和System.Object等價(jià),object類是所有類和變量類型的基類,在定義類時(shí)會(huì)自動(dòng)繼承object類,因此定義類時(shí)后面的從object繼承的標(biāo)識(shí)可以省略。
- string類
需要注意的是:string類型是一種特殊的引用類型,string類型變量的值一旦初始化就不能再改變。因此,下圖中str1 = "ASP.NET"實(shí)際上并不是將之前定義的str1的值修改為"ASP.NET",而是重新生成了一個(gè)對(duì)象,將該對(duì)象的值賦值為"ASP.NET"。
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的C#中的变量类型(值类型、引用类型)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: dvwa-sql盲注
- 下一篇: C#命名空间namespace中不能直接