C#快速入門教程(7)——資料型別概述
前面的內容,我們瞭解了物件導向程式設計的基本概念,以及在C#中如何實現;同時,也提到過在C#中的資料型別分為引用型別和值型別,本課,我們對C#中的常用型別做一些疏理。
首先來看引用型別。最常用的引用型別就是前面內容中介紹的類(class)型別;而在C#中,還有一個比較常用的引用型別就是委託(delegate)型別,後續會有詳細討論。引用型別的特點就是,我們定義的物件(例項)實際是一個指向物件資料塊的“地址”;在傳遞過程中,只需要傳遞這個“地址”就可以了,並不需要複製大量的物件資料,這對於資料傳遞效率來講是有利的。
C#中的常用值型別包括結構(struct)和列舉(enum)。值型別的變數直接指向資料,在傳遞時預設會複製其資料內容,前面的課程中已看到相關的示例。
引用型別和值型別是C#和.NET Framework平臺中基本的原始型別,在程式設計處理實際問題時,還會有一些基本的型別可以使用,這些型別都定義在System名稱空間,而且很多型別在C#中都有相應的別名,下面分別介紹。
整數型別,用於處理沒有小數部分的資料,包括有符號整數和符號整數。有符號整數用於處理正整數、零和負整數,無符號整數用於處理零和正整數。
具體的有符號整數型別包括:
- sbyte,處理8位有符號整數,對應System.SByte結構型別。請注意,8位是一個位元組,所以,sbyte和byte型別也用於處理位元組資料。
- short,處理16位有符號整數,對應System.Int16結構型別。
- int,處理32位有符號整數,對應System.Int32結構型別。
- long,處理64位有符號整數,對應System.Int64結構型別。
相應的無符號整數型別包括:
- byte,處理8位無符號整數,對應System.Byte結構型別。
- ushort,處理16位無符號整數,對應System.UInt16結構型別。
- uint,處理32位無符號整數,對應System.UInt32結構型別。
- ulong,處理64位無符號整數,對應System.UInt64結構型別。
處理有小數部分的資料型別包括:
- float,單精度浮點型,對應System.Single結構型別。
- double,雙精度浮點型,對應System.Double結構型別。
- decimal,十進位制型別,對應System.Decimal結構型別,這是基本型別中處理數值範圍最大的。
此外,在程式碼中的數字字面量,預設的整數是int型別,如直接用0、1等資料,它們的型別就是int。預設的浮點數是double型別,如0.0、0.123等。在書寫數字時,如果需要指定其型別,可以使用一些字母后綴,如:
- L或l,數字為long型別,如10L。
- UL或ul,數字為ulong型別,如123UL。
- F或f,數字為float型別,如99f、0.123F。
- D或d,數字為double型別,如1D。
- M或m,數字為decimal型別,如1M、1.2M。
布林型別,又稱為邏輯型別,在C#中使用bool關鍵字定義,對應了System.Boolean結構型別。其值只包括True和False,在C#中分別是true值和false值。
char型別用於處理單個字元,對應System.Char結構型別;字元字面量使用一對單引號定義,如'A'。
string型別用於定義字串,即文字內容,對應於System.String類型別;字串字面量使用一對雙引號定義,如"ABC123"。
此外,在處理日期和時間資訊時可以使用DateTime和TimeSpan等結構型別,它們都定義在System名稱空間。
以上是C#和.NET Framework中最基本的資料型別,在程式中會很廣泛地應用;接下來的幾課,我們會討論整數、浮點數、Decimal、布林、字元、字串等資料型別的應用,以及運算等相關操作。
最後,給出基本的C#和.NET Framework資料型別的對照表,其中包括資料名稱和取值範圍(沒錯,在計算機中的資料處理範圍是有限的!!!)
CHY軟體小屋原創作品!
相關文章
- C#快速入門教程(22)—— 常用集合型別C#型別
- C#快速入門教程(11)—— 字元和字串型別C#字元字串型別
- C#快速入門教程(21)—— 泛型C#泛型
- C#快速入門教程(27)—— SQL Server資料庫C#SQLServer資料庫
- C#快速入門教程(9)——浮點數、Decimal型別和數值型別轉換C#Decimal型別
- C#快速入門教程(10)——布林型別與布林運算C#型別
- Redis入門教程(二)— 基本資料型別Redis資料型別
- 《C#快速入門教程》目錄C#
- C#快速入門教程(16)—— 介面C#
- C#快速入門教程(6)——方法C#
- Python 3 快速入門 1 —— 資料型別與變數Python資料型別變數
- MySQL入門--資料型別MySql資料型別
- C#快速入門教程(26)—— 繪圖C#繪圖
- C#快速入門教程(15)—— 繼承C#繼承
- C#快速入門教程(8)——整數C#
- C#快速入門教程(28)—— ADO.NETC#
- C++入門教程(5):基本資料型別和變數C++資料型別變數
- MySQL入門系列:MySQL資料型別MySql資料型別
- python入門使用(四):資料型別Python資料型別
- C#快速入門教程(29)—— ADO.NET離線元件與資料繫結C#元件
- C#快速入門教程(25)—— 日期與時間C#
- C#快速入門教程(30)—— 繼續學習C#
- C#快速入門教程(18)—— 異常處理C#
- C#快速入門教程(12)—— if語句結構C#
- C#快速入門教程(19)—— 索引器與陣列C#索引陣列
- C#快速入門教程(5)——欄位與屬性C#
- C#快速入門教程(13)—— switch語句結構C#
- C#快速入門教程(2)——程式碼與測試C#
- Java入門系列-05-資料型別和型別轉換Java資料型別
- c#入門-型別轉換和運算C#型別
- redis各資料型別應用概述Redis資料型別
- xml--概述,快速入門,約束XML
- C#快速入門教程(20)—— 字串與正規表示式C#字串
- C#快速入門教程(23)—— using語句和IDisposable介面C#
- C#快速入門教程(14)—— 迴圈語句結構C#
- C#快速入門教程(4)——類成員的作用域C#
- C#快速入門教程(1)——物件導向程式設計C#物件程式設計
- openGauss社群入門(openGauss-常用資料型別)資料型別