2009-07-20 5 views
0
bitNot = (sbyte)(~bitNot) 

VS.bitNot = (sbyte) (~ bitNot) VS. myInt = Int32.Parse (meinInput);

myInt = Int32.Parse(myInput); 

Hallo, ich bin ein wenig verwirrt auf den beiden oben genannten Aussagen ... es scheint, als ob beide Aussagen zu konvertieren versuchen, aber warum ist die Syntax BITNOT = (sbyte) (~ BITNOT) für das erste Erklärung? Warum können wir bitNot = sbyte.Parse (~ bitNot) nicht wie die Syntax der zweiten Anweisung verwenden? Dank

+0

Die erste Anweisung invertiert alle Bits eines sbyte, die andere analysiert eine Zeichenfolge in eine Ganzzahl. Was ist die Verbindung zwischen diesen beiden Aussagen, die du zeigst? – nos

Antwort

3

Die erste Anweisung nimmt bitNot, die vermutlich eine gewisse Form der ganzen Zahl ist, invertiert alle Bits, gegossen in ein sbyte und speichert das Ergebnis wieder in bitNot

Die zweite Anweisung nimmt myInput, die ist, die meisten wahrscheinlich eine Zeichenfolge von einer Art, analysiert es von einem lesbaren Formular in einen Int32 Typ und speichert das in myInt.

Der Hauptunterschied besteht in den Typen, auf denen Sie arbeiten; Sie benötigen nur Parse, wenn Sie mit Strings arbeiten. In der ersten Anweisung wird stattdessen eine Cast-Operation ausgeführt. Dies bedeutet normalerweise, dass beispielsweise von einer 32-Bit-Ganzzahl in eine 8-Bit-Ganzzahl umgewandelt wird. Es ist eine ganz andere Art von Operation.

Verwandte Themen