切換
舊版
前往
大廳
主題

資策會Unity課程「C#」Day1~3 Part1

冰劍士-冰雪飛 | 2014-10-18 16:48:09 | 巴幣 16 | 人氣 3428

本篇撰寫的是10/14、16、17日三天的課程心得

從這篇開始撰寫關於C#程式語言的概念,不過這三天大致上都是很基礎的部分

所以本身不是很想寫這篇心得,不過還是要把內容PO上來以供參考
=======================================================================
基於C#是微軟所開發的程式語言,所以我們撰寫的工具會選擇「Visual Studio

至於要用甚麼版本的,就看各人選擇,當然盡量是最新版的就是了

官方免費下載:

關於Visual Studio的操作部份我就不多說了,本篇的重點在於C#的部分

主要練習開啟專案後請選擇「主控台應用程式」就是俗稱的小黑
=======================================================================
首先我們先理解一下C#程式檔案的結構

在最一開始的using......是新增檔案後預設的,使用內建的程式
名稱包含類別,而類別包含方法,這就是最基礎的C#架構

圖中的Console.WriteLine("Hello World!");就是最基礎的輸出語法
效果是在小黑視窗顯示字串內容 Hello World! ,並且換行,當然裡面的內容可以做修改
輸入的語法則是Console.ReadLine();就是輸入字串

順帶一提,C#的關鍵字有分大小寫,這點請特別注意


再來我們看到第二行是顯示綠字,這是因為我把此行的程式碼給「註解」了
只要打上//就會造成這樣的效果,讓此行//以後的程式碼不會有任何效果
一方面可以檢查哪行有問題,一方面可以標記這行程式碼做甚麼用(可以在//後輸入中文其他等
這對於維護程式來講是很重要的習慣,往後越大的程式越要這樣做才好維護


但假如你註解的行數很多,請參考此圖這樣既可

最後再提一下,你寫完程式後要檢查是法正確執行
請按偵錯>啟動但不偵錯(快捷鍵Ctrl+F5)既可開啟小黑作檢查
=======================================================================
再來我們談談關於Value-Type變數的部分

先從常用內建的變數型態舉列起,請注意範圍限制
bool 布林值,儲存true和false

byte 不帶正負號的 8 位元整數,範圍0至255

int 32位元整數,範圍-2,147,483,648 至 2,147,483,647

uint 不含負數32位元整數,範圍0 至 4,294,967,295

long 64位元整數,範圍-9,223,372,036,854,775,808 至 9,223,372,036,854,775,807

ulong 不含負數32位元整數,範圍0 至 18,446,744,073,709,551,615

float 32位元浮點數,後面要加F以區別double,範圍-3.4 × 10^38到 +3.4 × 10^38

double 64位元浮點數,後面要加D以區別float,範圍±5.0 × 10^−324 到 ±1.7 × 10^308

char 單一Uniocde字元,範圍U+0000 至 U+FFFF

string 儲存字串,好像s的大小寫有差別

以上還有其他的沒做介紹,但基本來講光上面的就夠用了

基本上設定一個變數就像這樣寫     int a;  or   int a = 0;
而命名的基本規則:使用英文字母、阿拉伯數字、底線_來命名、變數名稱不可數字開頭
命名上的建議:避免全部大寫英文、避免開頭底線_、避免縮寫、使用PascalCasing命名習慣

PascalCasing帕斯卡命名法
命名範例:string BeAMan = "Powerrrrrrrrrrrrrr";

C#本身的關鍵字請勿使用來命名
EX:default、if、abstract...............
=======================================================================
有了變數後當然就是要拿來做運算,這時候就需要使用運算子來做處理

= 等於
也可讀為此變數內部的資料內容為......

最基本 加 + 、減 - 、乘 * 、除 /
EX:a=10+5、a=10-5、a=10*5、a=10/5

除的部分稍微注意一下,還有一種是 餘 % ,這是用作除後取餘數
17/5=3、10%5=2

+= 加等於,變數自身在加5,當然也有 -= *= /= %=
x+=5 → x=x+5

++ -- 變數遞增、遞減
x++ → x+=1 → x=x+1

注意,程式運算也遵守數學規則「先乘除後加減
所以你要先算 +- 的部分時請打個小括號 ()
(x+y)/10

關係運算,常用於條件分歧
> 大於、< 小於、>= 大於等於、<= 小於等於、!= 不等於、== 等於
== 是為了區別運算用的 = 才這樣寫

邏輯運算
&& 而且(and)、|| 或者(or)、! 否(not)
真值表
A B !A A&&B A||B
true true false true true
false true true false true
true false false false true
false false true false false
^ XOR
真值表
A B A^B
true true false
false true true
true false true
false false false

?:
int a = 3;
int b = 5;
Console.WriteLine( (x > y) ? x : y );//x>y是false,印出5
Console.WriteLine( (x <= y) ? x : y );//x<=y是true,印出3
=======================================================================
有時候你會自訂型態,讓你的程式更有效率的執行

enum 列舉
enum Color = {Red, Blue, Green};
Color ccColor = Color.Red;
這是妳自己所撰寫的型態名為Color,ccColor是使用Color這型態的變數名稱

struct 結構
public struct Power
{
    public int YearOld;
    public string BeAMan;
}
使用已經建置好的struct
Power ManMuscle;
ManMuscle.YearOld = 20;
ManMuscle.BeAMan = "Powerrrrrrrrrrrrrrrrrrrrrrrrrrr";
=======================================================================
變數型態不一定會一直都是整數等,此時會進行型態轉型

自動轉型,只限定小的轉大的
float FZZ = 1.258f;
double FZF = FZZ;

強制轉型,當你想要大的轉小的時或其他印因素無法自動轉型
float FZZ = (float)156.651d;
=======================================================================
之後還會再補上Part2的部分,要撰寫的是迴圈部分

文章可能寫得很鬆散和悶,就請見諒了

創作回應

騎Mogeko的普羅
可以請問一下 列舉的(int)和 生成後的 as GameObject

都是翻成轉型 那在使用的時機上有規則可循嗎!? 還是只能背使用時機了!?
2016-11-28 02:28:29
冰劍士-冰雪飛
列舉的int是它本身的功能,可以自己定義該項目的int值
生成的as GameObject,個人感覺是轉型沒錯,有可用於讀取圖片用,只要改成as texture或其他既可
2016-11-28 20:19:27

更多創作