Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Logikai kötőjelet hajt végre két Boolean kifejezésen, vagy bitenkénti kötőjelet két numerikus kifejezésen.
Szemantika
result = expression1 And expression2
Részek
result
Szükséges. Bármely Boolean vagy numerikus kifejezés. Logikai összehasonlítás esetén result két Boolean érték logikai kötőeleme. Bitenkénti műveletek esetén egy numerikus érték, result amely két numerikus bitminta bitenkénti kötőjelét jelöli.
expression1
Szükséges. Bármely Boolean vagy numerikus kifejezés.
expression2
Szükséges. Bármely Boolean vagy numerikus kifejezés.
Megjegyzések
Logikai összehasonlítás esetén a ha és csak akkor vanTrue, result ha mindkettőexpression1, és expression2 kiértékeli a következőtTrue: . Az alábbi táblázat a meghatározás módját result mutatja be.
Ha expression1 igen, |
És expression2 van |
Az érték a következő result : |
|---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
Megjegyzés:
Logikai összehasonlítás esetén az And operátor mindig mindkét kifejezést kiértékeli, ami magában foglalhatja az eljáráshívásokat is. Az AndAlso operátorrövidzárolást végez, ami azt jelenti, hogy ha expression1 igen False, akkor expression2 nem lesz kiértékelve.
Numerikus értékekre alkalmazva az And operátor két numerikus kifejezés azonos pozícióban lévő bitjeinek bitenkénti összehasonlítását hajtja végre, és a megfelelő bitet az alábbi táblázat szerint állítja be result .
Ha a bit be van expression1 |
És a bit be expression2 van |
A bit be van result |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 0 |
Megjegyzés:
Mivel a logikai és bitenkénti operátorok elsőbbsége alacsonyabb, mint a többi aritmetikai és relációs operátoré, a pontos eredmény érdekében a bitenkénti műveleteket zárójelben kell megadni.
Adattípusok
Ha az operandusok egy Boolean kifejezésből és egy numerikus kifejezésből állnak, a Visual Basic numerikus értékké alakítja a Boolean kifejezést (–1 és True 0 ) Falseés bitenkénti műveletet hajt végre.
Logikai összehasonlítás esetén az eredmény adattípusa .Boolean A bitenkénti összehasonlításhoz az eredmény adattípusa egy numerikus típus, amely megfelel az és expression1expression2a . Lásd a "Relációs és bitenkénti összehasonlítások" táblát az operátoreredmények adattípusaiban.
Megjegyzés:
Az And operátor túlterhelhető, ami azt jelenti, hogy egy osztály vagy struktúra újradefiniálta a viselkedését, ha egy operandus az adott osztály vagy struktúra típusával rendelkezik. Ha a kód egy ilyen osztályon vagy struktúrán használja ezt az operátort, győződjön meg arról, hogy tisztában van az újradefiniált viselkedésével. További információ: Operátori eljárások.
1. példa
Az alábbi példa az And operátor használatával végez logikai kötőszót két kifejezésen. Az eredmény egy Boolean olyan érték, amely azt jelzi, hogy mindkét kifejezés szerepel-e True.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = a > b And b > c
secondCheck = b > a And b > c
Az előző példában a következő eredmények lesznek TrueFalselétrehozva:
2. példa
Az alábbi példa az And operátor használatával végez logikai kötőjelet két numerikus kifejezés egyes bitjein. Az eredményminta bitje akkor van beállítva, ha az operandusok megfelelő bitjei 1-nek vannak beállítva.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a And b)
secondPattern = (a And c)
thirdPattern = (b And c)
Az előző példa 8, 2 és 0 eredményt ad.