C# und VB.Net gemeinsam nutzen
Achtung bei „=“ und Boolean
Da „=“ in VB.Net sowohl für die Übergabe, als auch für den Vergleich dient, wird in folgendem Code
Dim k As Integer = 7
i = j = k
das zweite Gleichheitszeichen als Vergleichsoperator interpretiert – das Ergebnis für i lautet 0 (=False). In C# hingegeben werden die Werte „sauber“ von rechts nach links geschrieben – das Ergebnis von
k = 7;
i = j = k;
ist 7. Ob solch ein Code lesbar ist, sei allerdings dahingestellt.
Eigentlich entspricht der Datentyp Boolean keiner Zahl, was bedeutet, dass in C# mit boolschen Variablen nicht gerechnet werden kann:
int i = 3;
MessageBox.Show ((Int32)(i == 3))*500;
führt zu einem Fehler. Jedoch funktioniert die gleiche Anweisung in VB.Net:
Dim i As Integer = 3
MsgBox(CInt(i = 3) * 500)
und liefert mit dem internen Wert -1 für True als Ergebnis -500. Will man diese Funktionsweise dennoch in C# nachbilden, dann muss mit der Funktion Sign aus der Klasse Math gearbeitet werden.