C # logische Operation Frage

8

warum das stimmt:

%Vor%

und das ist falsch:

%Vor%

sollte meiner Meinung nach das Gegenteil sein.

    
Rodolfo 11.02.2011, 11:35
quelle

4 Antworten

15

Sie binden wie folgt:

%Vor%

und

%Vor%

Ich würde es vermeiden, Code zu schreiben, der sich auf diese Regeln stützt - es ist dem Leser offensichtlich nicht klar:)

Als Referenz siehe Abschnitt 7.3.1 der C # 4-Sprachspezifikation, der & mit einer höheren Priorität als | (daher das erste Ergebnis) und | mit einer höheren Priorität als && (daher die zweites Ergebnis).

    
Jon Skeet 11.02.2011 11:36
quelle
3

Dies liegt an der Vorrangstellung des Operators hier

    
DaeMoohn 11.02.2011 11:38
quelle
3

& hat Priorität vor | , die Priorität auf && hat, daher werden Ihre Ausdrücke als

bewertet %Vor%

und

%Vor%

Siehe die Referenz von C # -Operatoren , die dort Vorrang haben für weitere Informationen.

    
Sören 11.02.2011 11:39
quelle
0

Kurz gesagt:

• Die Operation x & amp; & amp; y entspricht der Operation x & amp; y, außer dass y nur ausgewertet wird, wenn x wahr ist.

• Die Operation x || y entspricht der Operation x | y, außer dass y nur ausgewertet wird, wenn x falsch ist.

    
WillDud 11.02.2011 12:20
quelle

Tags und Links