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

C# 結構與類的差異深度解析(一)

     編輯:關於C語言

基本宣告與實例化

結構與類的語法極為相似,僅關鍵字不同:

// 結構
public struct Person {
    string Name;
    int Height;
    int Weight;
    public bool OverWeight() { /* ... */ }
}

// 類
public class TestTime {
    int Hours, Minutes, Seconds;
    public void PassTime() { /* ... */ }
}

// 使用方式
Person myPerson = new Person(); // 或 Person myPerson; (未初始化欄位不可用)
TestTime myTime = new TestTime();

核心差異:實值型別 vs 參考型別

  • 結構:實值型別,配置於堆疊。所有基本型別(int, string 等)本質上皆為結構。堆疊存取效率高,但空間有限,適合小型、簡單物件。
  • 類:參考型別,配置於堆積。適合複雜商業邏輯物件。

指派行為差異

Person p1 = new Person { Name = "A" };
Person p2 = p1; // 建立完整副本,p2 修改不影響 p1

TestTime t1 = new TestTime();
TestTime t2 = t1; // 僅複製參考,t2 修改會影響 t1

效能與適用場景

結構因堆疊配置,存取速度快、無 GC 壓力,適合高頻率、短生命週期的小型資料結構。類支援繼承、多型,適合建模複雜領域實體。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved