06.01.2015 Views

第一章C#語言基礎

第一章C#語言基礎

第一章C#語言基礎

SHOW MORE
SHOW LESS

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 />

別 、 字 元 型 別 、 布 爾 型 別 、 浮 點 數 型 別 、 十 進 制 型 別 。 見 下 表 :

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!