#操縱數字與文字 2017/10/05 廖惠平
##Out Lines - 快速複習 - 型別 - 常數與變數 - 讀取資料 與 Parsing - 四則運算 - string.Format - 實作練習
#快速複習
##Hello World! Hello C#! - 程式 - C# 和 .NET - Visual Studio - Console - 專案與環境建置 - Hello World! - 跳脫字元
##課後練習:倖存者日記
##課後練習:顏文字清單
#型別
##布林 - bool: Boolean

布林


bool isAmyGirl = true;
bool isAndyGirl = false;

Console.WriteLine("Is Amy a Girl? {0}", isAmyGirl);
Console.WriteLine("Is Andy a Girl? {0}", isAndyGirl);
Console.ReadLine();
					
## 數字 - 整數 - int: Integer - uint: Unsign Interger - long: Long Integer - ulong: Unsign Long Interger - short: Short Integer - ushort: Unsign Short Integer - 浮點數 - float - double - decimal

數字


int deposit = -200;
int score = 100;
uint age = 24;
long pixel = 1239847199868777238;
short studentCount = 155;

float height = 155.4F;
double bill = 699.14389713214938513;
decimal cash = 13.138471983741983477466371738123M;
					
##文字 - char - string

文字


char grade = 'F';
string name = "Kei";

Console.WriteLine("Student Name: {0}.", name);
Console.WriteLine("Grade: {0}", grade);
Console.ReadLine();
					
##其他 - byte - sbyte - enum

其他

寫Main{}的下面


enum grade
{
	Outstanding,
	ExceedsExpectations,
	Acceptable,
	Poor,
	Dreadful,
	Terrible
};
					

其他


grade myGrade = Program.grade.Acceptable;
grade kerwinGrade = Program.grade.Outstanding;
grade ryanGrade = Program.grade.Terrible;

Console.WriteLine("Mine: {0}", myGrade);
Console.WriteLine("Kerwin's: {0}", kerwinGrade);
Console.WriteLine("Ryan's: {0}", ryanGrade);
Console.ReadLine();
					
##型別的真實樣貌 - 說好的1與0 - 2進位制 - 溢位 - 精度
##參考型別與實值型別 - 參考型別 - 實質型別 - 物件導向
#常數與變數
##不會改變的常數 - 不會變 - 不可以改動 - Pi

不會改變的常數

出現錯誤訊息!


const int AGE = 28;
AGE = 40;
					
##改來改去的變數 - 可以改動 - 拿來做各式各樣的運算
##列舉 - 常數 - 有意義的常數 - 取代各式各樣的Magic Number
##讀取資料 與 Parsing
##讀取資料 - 變數 = Console.Read(); - 變數 = Console.ReadLine(); - 讀進來的東西一定是字元或字串

讀取資料

可是這樣會出錯!


string gender;
string name;
int age;

Console.Write("請輸入你的性別(M/F): ");
gender = Console.ReadLine();

Console.Write("請輸入你的姓名: ");
name = Console.ReadLine();

Console.Write("請輸入你的年齡:");
age = Console.Read();

Console.WriteLine("姓名:{0}", name);
Console.WriteLine("性別:{0}", gender);
Console.WriteLine("年齡:{0}", age);

Console.ReadLine();
					
##Parse - 變數 = 型別.Parse(字串); - 把字串轉成指定的型別 - 字串需要符合格式

Parse


string ageString;
int age;

Console.Write("請輸入你的年齡:");
ageString = Console.ReadLine();

age = int.Parse(ageString);
Console.WriteLine("年齡:{0}", age);

Console.ReadLine();
					
##TryParse - int.TryParse(字串, out 變數); - 把字串轉成指定的型別 - 字串需要符合格式 - 轉換失敗的時候程式不會死掉

TryParse


string ageString;
int age;

Console.Write("請輸入你的年齡:");
ageString = Console.Read();

int.TryParse(ageString, out age);
Console.WriteLine("年齡:{0}", age);

Console.ReadLine();
					
#四則運算
##四則運算 - 加 - 減 - 乘 - 除 - 取餘數

四則運算


int cake = 3;

Console.WriteLine("我做了{0}個蛋糕", cake);
Console.WriteLine("每個蛋糕切八片後得到{0}片", cake*8);
Console.WriteLine("但是運送過程中晃壞了3片剩下{0}片", cake*8-3);
Console.WriteLine("剩的蛋糕分給5個人,每個人拿到{0}片,剩下{1}片", (cake*8-3)/5, (cake*8-3)%5);
Console.ReadLine();
					
##偷懶的四則運算 - 加等於 - 減等於 - 乘等於 - 除等於 - 加加 - 減減

偷懶的四則運算


int cake = 3;
cake = cake*8;
cake = cake-3;

int eachPerson = cake/5;
int left = cake%5;
					

偷懶的四則運算


int cake = 3;
cake *= 8;
cake -= 3;

int eachPerson = cake/5;
int left = cake%5;
					
#string.Format
##串接文字 - string.Format("字串", 參數0, 參數1...); - 把參數依序填入字串挖空處 - 從0開始

串接文字


strin name = "Kei";
int age = 24;
float height = 155.4F;
float weight = flaot.MaxValue;

string intro = string.Format("大家好,\n我是{0},\n今年歲{1},\n身高{2},\n體重{3},\n請多多指教!",
							  name,
							  age,
							  height,
							  weight);
Console.Write(intro);
Console.ReadLine();
					
##設計顯示的格式 - 依據型別指定不同的顯示方式 - 詳見 [標準數值格式字串](https://msdn.microsoft.com/zh-tw/library/dwhawy9k.aspx)

設計顯示的格式


strin name = "Kei";
int age = 24;
float height = 155.4F;
float weight = flaot.MaxValue;

string intro = string.Format("大家好,\n我是{0},\n今年歲{1},\n身高{2:F2},\n體重{3:F4},\n請多多指教!",
							  name,
							  age,
							  height,
							  weight);
Console.Write(intro);
Console.ReadLine();
					
#實作練習
##無聊的RPG - 開始時,請使用者輸入姓名 - 每按一次Enter顯示一段內容 - 最後按Enter結束程式
##BMI計算器 - 開始時,顯示「請輸入姓名:」 - 輸入完姓名後,顯示「請輸入身高:」 - 輸入完身高後,顯示「請輸入體重:」 - 計算BMI - 顯示結果 - 按一次Enter結束程式
#課後練習 - 正妹三寶聊天室 - 色碼轉換器