首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 銳利體驗 (二) (1):資料型別核心概念

     編輯:關於C語言

體驗 C# 銳利前的基礎知識

掌握語言基礎知識是體驗 C# 銳利的必要前置。C# 基礎多源自 C/C++,對相似處僅簡介,專注於區別傳統 C/C++ 的關鍵基礎知識。

資料型別分類

C# 資料型別主要分兩大類:值型別與參考型別。另有一種「指標型別」專供 unsafe 脈絡程式設計(直接操作記憶體,失去 CLR 垃圾收集等特性),放在「COM 互操作」專題闡述。

  • 值型別:變數本身包含資料。
  • 參考型別:變數包含指向資料記憶體區塊的參考(控制代碼)。多個變數參考同一記憶體區塊時,修改任一變數皆導致物件值改變。null 表示參考型別未指向任何實際位址。

值型別與參考型別記憶體模型差異圖

值型別細分

  • 結構型別:含簡單型別與使用者自訂結構。
  • 列舉型別。

簡單型別又分:

  • 布林型別:嚴格區別於數值型別,僅 true/false,無與其他型別隱含轉換。
  • 數值型別:整數、浮點數、decimal 三類。
    • 整數:sbyte、byte、short、ushort、int、uint、long、ulong、char 共九種。除 char 外,其餘八種兩兩配對為有號/無號。
    • 浮點數:float、double。
    • decimal:28 位有效數字 128-bit 十進制型別,專用於金融貨幣等高精度計算。

參考型別四大類

  1. 類別:含自訂類別、object(所有型別根基類)、string(密封類別,表 Unicode 字串)。
  2. 介面:定義方法契約。
  3. 陣列。
  4. 委派:指向靜態/實例方法的簽章,類似 C/C++ 函式指標。

各型別預設值

  • 數值型別:0 或 0.0(char 為 '\x0000')
  • 布林型別:false
  • 列舉型別:0
  • 結構型別:所有值型別欄位設對應預設值,參考型別欄位設 null
  • 所有參考型別:null

型別轉換四種方式

  1. 隱含轉換:「小型別」到「大型別」,無需語法標記。
  2. 明確轉換:「大型別」到「小型別」,需 (Type)data 括號運算子。
  3. 標準轉換:系統內建轉換,針對類別/結構等自訂型別。
  4. 自訂轉換:使用者定義轉換,針對類別/結構等自訂型別。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved