[程式][藝術] 用 xor 來做逆運算
其實程式真的很像藝術,看看下面的程式碼:
一樣的句子,透過 xor (^=) 變的多麼簡單,也許上面的式子感覺不太出來,那看看下面的,因為取屬性的寫法變的比較長了,自然 code 也變長了,當然還可能會更長
但一樣透過 xor 就變的很簡潔,像藝術作品一般
bool check;
// 第一種
if (check){
check = false;}
else{
check = true;}
// 第二種
check = (check) ? false : true;// 第三種
check = !check;
// 第四種
check ^= true;一樣的句子,透過 xor (^=) 變的多麼簡單,也許上面的式子感覺不太出來,那看看下面的,因為取屬性的寫法變的比較長了,自然 code 也變長了,當然還可能會更長
但一樣透過 xor 就變的很簡潔,像藝術作品一般
// 第一種
if (this.checkBox1.Checked){
this.checkBox1.Checked = false;}
else{
this.checkBox1.Checked = true;}
// 第二種
this.checkBox1.Checked = (this.checkBox1.Checked) ? false : true;// 第三種
this.checkBox1.Checked = !this.checkBox1.Checked;
// 第四種
this.checkBox1.Checked ^= true;
留言