VC#2005快速入門之使用布爾操作符

字號:

布爾操作符(Boolean operator)是求值結(jié)果要么為true,要么為false的一種操作符。C#提供了幾個非常有用的布爾操作符,其中最簡單的是NOT(求反)操作符,它使用感嘆號(!)來表示。!操作符求一個布爾值的反值。在上例中,假如變量areYouReady的值為true,那么表達式!areYouReady的求值結(jié)果就是false。
    理解相等和關(guān)系操作符
    兩個更常用的布爾操作符是相等(==)和不等(!=)操作符。利用這兩個二元操作符,可以判斷一個值是否與相同類型的另一個值相等。表1展示了這些操作符是如何工作的,其中以一個名為age的int變量為例。
    表1 布爾操作符
    操 作 符 含 義 示 例 結(jié)果(假定age = 42)
    == 等于 age == 100 false
    != 不等于 age != 0 true
    與上述兩個操作符密切相關(guān)的是關(guān)系操作符(relational operator)。利用這些操作符,可以判斷一個值是否小于或大于同類型的另一個值。表2展示了如何使用這些操作符。
    表2 關(guān)系操作符
    操 作 符 含 義 示 例 結(jié)果(假定age = 42)
    &< 小于 age &< 21 false
    &<= 小于或等于 age &<= 18 false
    > 大于 age > 16 true
    >= 大于或等于 age >= 30 true
    注意 不要混淆相等操作符(==)與賦值操作符(=)。像x==y這樣的代碼會比較x與y,如果兩個值相同,就會返回true。相反,像x=y這樣的代碼會將y的值賦給x。
    理解條件邏輯操作符
    C#還提供了另外兩個布爾操作符:邏輯AND(邏輯與)操作符,它使用&&來表示;以及邏輯OR(邏輯或)操作符,它使用||來表示。這兩個操作符統(tǒng)稱為條件邏輯操作符(conditional logical operator)。它們的作用是合并不同的布爾表達式,以構(gòu)成一個更大的表達式。這兩個二元操作符與相等及關(guān)系操作符的相似之處在于,它們的結(jié)果也是true或false。不同之處在于,它們操作的值(操作數(shù))本身就必須是true或false。
    只有作為操作數(shù)的兩個布爾表達式都為true的前提下,&&操作符的求值結(jié)果才為true。例如,只有在percent的值大于或等于零,而且percent的值小于或等于100的前提下,以下語句才會將true值賦給validPercentage:
    bool validPercentage;
    validPercentage = (percent >= 0) && (percent &<= 100);
    提示 新手常犯的一個錯誤是在合并兩個測試的時候,只對percent變量命名一次,就像下面這樣:
    percent >= 0 && &<= 100 // 這個語句不能編譯
    使用圓括號有助于避免這種類型的錯誤,同時也有助于澄清表達式。例如,可以對比一下以下兩個表達式:
    validPercentage = percent >= 0 && percent &<= 100
    validPercentage = (percent >= 0) && (percent &<= 100)
    兩個表達式返回的是同一個值,因為操作符&&的優(yōu)先級低于>=和&<=。然而,第二個表達式采取更清晰易懂的方式表明了它的目的。