close
布林值 (bool):bool 為 boolean 的別名。是用來存放 true (有)、false (無) 的變數,所以佔的記憶體位置很小,只佔 8 位元 (bit)。
在別的程式語言裡面,int 或 string 是可以轉換為 bool 的,例如:
C++:只要數值非零,皆為 true。(C++ 不熟...其他型態沒試過)
int i = 123; => true int i = 1; => true int i = 0; => false
PHP:只要數值非零或空 (null),皆為 true。
$i = 123; => true $i = 1; => true $s = "hi!"; => true $s = ""; => false $i = 0; => false
但是 C# 不行,例如:
int i = 123; if ( i ) => 這是錯誤的, 這邊無法判斷 true 或 false,且編譯過不了 { } if ( i != 0 ) => 這才是正確做法, 使用者必須自己下判斷,去判斷是否為 0 { }
------- 小技巧 -------
在程式中經常會用到很多的判斷,例如遊戲中要打副本時,需要去判斷玩家體力是否足夠、等級是否足夠、金錢是否足夠時,會這樣去判斷:
// 這邊會去檢查玩家的體力、等級、金錢是否足夠,條件滿足才可進行副本。 if ( (player.energy > 0) && (player.lv >= 10) && (player.money >= 100) ) { // 進入副本...... } // 不過也有人會用排版的方式,去提高可讀性。 if ( (player.energy > 0) && (player.lv >= 10) && (player.money >= 100) ) { // 進入副本...... }
這裡其實就可以利用 bool 變數,去做處理,作法如下:
// 檢查體力是否足夠。 bool checkEnergy = (player.energy > 0); // 檢查等級是否足夠。 bool checkLV = (player.lv >= 10); // 檢查金錢是否足夠。 bool checkMoney = (player.money >= 100); if ( checkEnergy && checkLV && checkMoney ) { // 進入副本...... }
如此一來,判斷式就可以清楚又明瞭了!就算不下註解,光看變數名稱,也可以知道該判斷式的用處是什麼了!
文章標籤
全站熱搜