C#之結構體struct總結,
- struct類型是一種值類型,通常用來封裝小型相關變量組
- struct可以包含的成員:構造函數、常量、字段、方法、屬性、所引器、事件和嵌套類型,如果同時需要以上類型,則應當考慮使用類而不是結構體
- 結構可以繼承自類(單繼承,不同於C++)和實現接口,單不能繼承自了一個結構
- 結構成員無法聲明為 protected(因為結構無法被繼承)
- 結構體在棧上分配內存空間
- 結構體申明位置:與類平級或位於類內部但不能位於方法體內
- 不能新申明無參數的構造函數
- 結構體可以申明靜態構造函數,但該函數不能有訪問修飾符且該函數無參數
- 結構體內的非構造函數的靜態方法除了訪問修飾符必須是 public,其它跟在類中聲明方式一樣
- 結構體實例的申明可以不用 new,不同於類等引用類型
例子:
struct S
{
private int d = 0;
public int D
{
get { return d; }
set { d = value; }
}
public S(int p)
{
D = p;
}
public static int Sum(int a, int b)
{
return a + b;
}
}