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