yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2007-8-28, PM 2:29 星期二 文章主題: [轉貼][教學]C# 程式設計 - 基礎篇 [只到2-1-3] |
|
|
原作者:babu61509 ( 轉貼前已取得babu61509同意 )
原出處:http://www.getphpbb.com/phpbb/viewtopic.php?t=212&mforum=209774061336771
有問題可以問喔~目前只是草稿階段,所以有可能會多一些章節(?)
這篇會盡量以較精簡且容易了解說法的來寫。
不過還是建議還是買一本書來看 XD
不定時更新( - _-) !!
目前構想的基礎篇目錄 :
Chapter 0 物件導向概念 - 基礎篇
0-0 物件導向 ? 可以吃嗎 ?!
0-1 Class (類別) 的說明
0-2 namespace (命名空間) 的說明
0-3 Object (物件) 的說明
Chapter 1 C#基本結構
1-1 class 宣告
1-2 程式進入點
1-3 "Hello ! C# !"
1-4 註解
Chapter 2 常數、變數與函式
2-1 變數介紹
2-1-1 整數型
2-1-2 浮點數型
2-1-3 字元型
2-1-4 布林型
2-1-5 列舉型
2-2 常數介紹
2-3 函式介紹
Chapter 3 運算元和運算子
3-1 運算元
3-2 運算子
Chapter 4 陣列
4-1 陣列介紹
4-2 多維陣列
Chapter 5 流程控制
5-1 if...else 介紹
5-2 while 介紹
5-3 do...while介紹
5-4 for 介紹
5-5 switch 介紹
5-6 foreach 介紹
5-7 break、continue 介紹
Chapter 6 I/O - 基礎篇
6-1 基本輸出、輸入
6-2 檔案存取
6-3 資料夾處理
=========================== [ 本篇開始 ]
Chapter 0 物件導向概念 - 基礎篇
0-0 物件導向 ? 可以吃嗎 ?!
因為C#是以 物件導向 為基礎的程式語言,所以在學C#之前,要先了解 物件導向 是什麼東東。
以下只是大概說明本篇會用到的 物件導向概念 ,詳細的請自行找相關的書來看!
0-1 Class (類別) 的說明
大家都知道,在設計物品之前要先畫藍圖,決定物品的長寬高,還有其用途。
這種結構就稱為 Class ,Class 主要包含 資料成員(屬性),和 函式成員(動作)。
例 : 假設有個 Class 叫做 Jack ,他的 資料成員(屬性) 就有 身高、體重、年齡 等等,函式成員 就是他會做哪些動作,例如 跑、跳、吃東西 等等。
0-2 namespace (命名空間) 的說明
大家在使用電腦一陣子以後,檔案變多以後,一堆東西混在一起時,要找某個檔案就變的很麻煩。
最好的方式就是建立資料夾,將同類的檔案放在一起,不同的放在別的資料夾。
namespace 就像是那個資料夾,將有相同性質的 Class 分類好,以後要用的時候就很方便。
在C#裡面要使用某namespace的class函式時,是透過 . (點)來使用的。
例 : 假設我告訴你主控台輸出字串要透過System(命名空間)的Console(類別)的WriteLine(函式)來輸出。
那麼用 C# 來寫就是 :
System.Console.WriteLine("字串");
0-3 Object (物件) 的說明
藍圖都畫好了,東西呢 ? 用 Class 架構做出來的東西就叫做 Object(物件) ,至於怎麼用C#做出物件,等到 物件導向概念 - 中階篇 再跟大家說明。
現在大家只要知道 namespace 是分類 class 用的,class 是 object 的架構就可以了。
1-1 class 宣告
如同之前所說,C#是一個以 物件導向 為基礎的程式語言,所以寫程式的第一步驟就是要寫出一個 class ,C#的 class 宣告格式如下 :
代碼: | class [類別名稱]
{
[類別內容]
}
|
例 : 寫出一個叫做 HelloCSharp 的 class。
代碼: | class HelloCSharp
{
}
|
1-2 程式進入點
有一個class沒問題,但是如果有2個以上的class呢 ? 程式要從哪個才能開始執行呢 ?
所以C#就規定要從 靜態的Main函式 開始,用C#語法寫起來就是 static void Main(){},配合上面的的class就變成 :
代碼: | class HelloCSharp
{
static void Main()
{
}
}
|
這個程式碼就可以執行囉 ! (雖然沒有東西)
上面這個架構就是C#最最基本的架構!
1-3 "Hello ! C# !"
C# 大部分的功能都是透過呼叫函式來達成的,這小節教做出第一個C#程式 !
用的函式就是上面講過的 System.Console.WriteLine()。
System.Console.WriteLine() 功能 : 輸出字串至主控台並換行。
()裡面要放傳給WriteLine()的值,也就是要輸出的字串。
例 : 假設我們要輸出 Hello ! C# ! 到主控台,C#規定字串要用雙引號括起來,且在每行指令後面要加上分號代表該指令行結束,所以輸出 Hello ! C# ! 的指令行如下 :
System.Console.WriteLine("Hello ! C# !");
完整的寫法就是 :
代碼: | class HelloCSharp
{
static void Main()
{
System.Console.WriteLine("Hello ! C# !");
}
}
|
1-4 註解
C#的注解符號和C++是一樣的,// 後面的字代表註解,直到換行。
如果好幾行就用 /* 註解 */ 包起來,註解可以放在任何地方,增加程式可讀性。
例 :
代碼: | class HelloCSharp
{
static void Main() // �{式從這個函式�}始執行喔!
{
// 輸出字串 Hello ! C# !
System.Console.WriteLine("Hello ! C# !");
}
}
|
Chapter 2 常數、變數與函式
2-1 變數介紹
變數是什麼呢 ? 變數就是拿來放程式執行中所需資料的地方,宣告方法如下 :
[變數型態] [變數名稱];
例 : 宣告一個 int 型態的 x 變數。
int x;
當然,也可以再宣告的時候同時給他初始值,格式如下 :
[變數型態] [變數名稱] = [值];
例 : 宣告一個 int 型態的 y 變數,並給他值 10 。
int y = 10;
如果要同時宣告好幾個同型態的變數可以放在同一行喔,只要加上逗號分隔出變數名稱就可以了。
例 : 宣告 int 形態的 x , y , z 變數。
int x,y,z;
至於變數的名稱,C#有以下規定 :
1. 可以由任何字元組成,包含英文字母、數字與Unicode,但是字首不能是數字。
2. 名稱內不可以有空白(space)、換行(enter)、跳謂(tab)字元。
3. 名稱內不能有任何特殊符號(!@#$%之類的),但是底線(_)、星號(*)可以有。
4. 不能使用保留字 (請自行翻找有關書籍,好多- 3-,反正不要取太怪的名稱通常都 ok 的!)
大家注意第一項最後面那邊 ! 沒錯,可以使用Unicode,代表的是...變數名稱可以用『中文』!
不過打程式用中文還要切換..有點麻煩,所以後面用還是以英文的變數名稱為主。
2-1-1 整數型
整數型的變數型態有以下幾種 :
代碼: | 變數型態 位元 值域
sbyte (8 bits) -128 ~ 127
short (16 bits) -32767 ~ 32768
int (32 bits) -2147483648 ~ 2147483647
long (64 bits) -9223372036854775808 ~ 9223372036854775807
byte (8 bits) 0 ~ 255
ushort (16 bits) 0 ~ 65535
uint (32 bits) 0 ~ 4294967295
ulong (64 bits) 0 ~ 18446744073709551615
|
例 :
int x = 100; // 宣告 x 並給予值 100
2-1-2 浮點數型
整數型的變數型態有以下幾種 :
代碼: | 變數型態 位元 準確度 值域
float (32 bits) 7位數 ±1.5 x 10^-45 ~ ±3.4 x 10^38
double (64 bits) 14-15位數 ±5.0 x 10^324 ~ ±1.7 x 10^308
decimal(128 bits) 28-29位數 1.0 x 10^-28 ~ 7.9 x 10^28
|
例 :
float pi = 3.1416; // 宣告 pi 並給予值 3.1416
2-1-3 字元型
代碼: | 變數型態 位元 表達範圍
char (16 bits) u+0000 ~ u+ffff
|
字元再給予值的時候,需要使用單引號括起來,C#字元型態和C或C++的是不一樣的,是以Unicode來儲存而不是Byte。
字元裡有些特殊字元(控制用的)是以 反斜線\ 開頭的,常用的如下 :
代碼: | \0 代表 null
\n 換行
\r 回到最左邊
\\ 反斜線
\' 單引號
\" 雙引號
\u#### Unicode編碼(####為數字)
\x#### 16進位Unicode編碼(####為數字)
|
例 :
char cA = 'A', cB = 'B'; // c1 放入A , c2 放入B
=========================== [ 2007/08/25 更新] |
|