You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
用<br />
用<br />
<br />
列 舉 型 別 (Enumeration types)<br />
C# 語 言 實 值 型 別 變 數 無 論 如 何 定 義 , 總 是 實 值 型 別 變 數 , 不 會 變 為 參 照 型 別 變 數 。<br />
1.4.3 結 構 型 別<br />
結 構 型 別 和 類 一 樣 , 可 以 宣 告 建 構 函 數 、 資 料 成 員 、 方 法 、 屬 性 等 。 結 構 和 類 的 最 根 本 的<br />
區 別 是 結 構 是 實 值 型 別 , 類 是 參 照 型 別 。 和 類 不 同 , 結 構 不 能 從 另 外 一 個 結 構 或 者 類 衍 生 , 本<br />
身 也 不 能 被 繼 承 , 因 此 不 能 定 義 抽 像 結 構 , 結 構 成 員 也 不 能 被 存 取 權 限 控 制 字 protected 修 飾 ,<br />
也 不 能 用 virtual 和 abstract 修 飾 結 構 方 法 。 在 結 構 中 不 能 定 義 解 構 函 數 。 但 結 構 有 預 設 的 無<br />
參 數 建 構 函 數 。<br />
雖 然 結 構 不 能 從 類 和 結 構 衍 生 , 可 是 結 構 能 夠 繼 承 介 面 , 結 構 繼 承 介 面 的 方 法 和 類 繼 承 介<br />
面 的 方 法 基 本 一 致 。 下 面 例 子 定 義 一 個 點 結 構 point:<br />
using System;<br />
struct point// 構 定 義 結<br />
{<br />
}<br />
public int x, y;// 構 中 也 可 以 宣 告 建 構 函 結<br />
class Test<br />
{<br />
}<br />
static void Main()<br />
{<br />
} //<br />
point P1;<br />
P1.x = 166;<br />
P1.y = 111;<br />
point P2;<br />
P2 = P1;// 值<br />
point P3 = new point();//<br />
生<br />
P3 僅 數<br />
( 必 數<br />
須 有 參<br />
= 166,P2.y = 111<br />
生<br />
) 和 方 法 , 變 數 不 能 賦 初 值 數<br />
仍<br />
1.4.4 簡 單 型 別<br />
P2.x , 使 遞 傳<br />
new<br />
P3,P3 構 變 數 結 成<br />
實 值 型 別 變 數 為<br />
new<br />
成 結 構 變<br />
示 調 用 預 設 的 建 構 函 數 , 使 x=y=0。 表<br />
11<br />
簡 單 型 別 也 是 結 構 型 別 , 因 此 有 建 構 函 數 、 資 料 成 員 、 方 法 、 屬 性 等 , 因 此 下 列 語 句 int i<br />
= int.MaxValue; string s = i.ToString() 是 正 確 的 。 即 使 一 個 常 數 ,C# 也 會 生 成 結 構 型 別 的 實 例 , 因<br />
此 也 可 以 使 用 結 構 型 別 的 方 法 , 例 如 :string s = 13.ToString() 是 正 確 的 。 簡 單 型 別 包 括 : 整 數 型<br />
別 、 字 元 型 別 、 布 爾 型 別 、 浮 點 數 型 別 、 十 進 制 型 別 。 見 下 表 :