結構與類的語法極為相似,僅關鍵字不同:
// 結構
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();
Person p1 = new Person { Name = "A" };
Person p2 = p1; // 建立完整副本,p2 修改不影響 p1
TestTime t1 = new TestTime();
TestTime t2 = t1; // 僅複製參考,t2 修改會影響 t1
結構因堆疊配置,存取速度快、無 GC 壓力,適合高頻率、短生命週期的小型資料結構。類支援繼承、多型,適合建模複雜領域實體。