Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Schwierigkeiten werden einzeln gelöst (7): aktiviert und deaktiviert

C#-Schwierigkeiten werden einzeln gelöst (7): aktiviert und deaktiviert

黄舟
黄舟Original
2016-12-22 14:20:341139Durchsuche

Standardmäßig tritt in C# ein Kompilierungsfehler auf, wenn der Wert eines konstanten Ausdrucks den Maximalwert des Zieltyps überschreitet.

C#-Schwierigkeiten werden einzeln gelöst (7): aktiviert und deaktiviert


Wenn der Zieldatentyp die Daten eines nicht konstanten Ausdrucks nicht aufnehmen kann, werden die Daten während der Zuweisung abgeschnitten.

class Program 
{ 
static void Main(string[] args) 
{ 
int n = int.MaxValue;//n=2147483647 
n = n + 1; 
System.Console.WriteLine(n); 
} 
}

C#-Schwierigkeiten werden einzeln gelöst (7): aktiviert und deaktiviert

Zu diesem Zeitpunkt kann der int.MaxValue durch Hinzufügen von 1 im Speicher erklärt werden wird zu 32-Bit 0. Wenn 0 als negatives Vorzeichen betrachtet wird, erhalten wir -2147483648.

Das Platzieren des obigen Codes im geprüften Block führt zu einem System.OverflowException-Typ.

class Program 
{ 
static void Main(string[] args) 
{ 
checked 
{ 
int m = int.MaxValue; 
m = m + 1; 
System.Console.WriteLine(m); 
} 
} 
}

C#-Schwierigkeiten werden einzeln gelöst (7): aktiviert und deaktiviert

Eine in einem geprüften Block in C# platzierte Variable löst eine Ausnahme aus, wenn während der Laufzeit eine Überlaufzuweisung auftritt.

unchecked wird verwendet, um die Überlaufprüfung ganzzahliger arithmetischer Operationen und Konvertierungen abzubrechen.

Das Obige ist der Inhalt der C#-Schwierigkeiten nacheinander (7): aktiviert und deaktiviert. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn