namespace _04_elementare_Datentypen
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Die Operatoren >>checked<< und >>unchecked<<:");
Console.WriteLine("Geben Sie eine Zahl im Bereich von ");
Console.WriteLine($"0...{Int16.MaxValue} ein:");
short value20 = Convert.ToInt16(Console.ReadLine());
byte value21 = checked((byte)value20);
Console.WriteLine(value21);
Console.ReadKey();
}
}
}
Bis hier her komme ich mit. Gibt man z.B. einn Wert 256 ein, würde das zu einem Überlauf führen und der >>checked<< Operator bricht die Laufzeit ab. Nun steht in dem Buch einfach folgender Satz.
Zitat |
"Falls nich nur ein einzelner Ausdruck, sondern mehrere Ausdrücke innerhalb eines Anweisungsblocks auf einen möglichen Überlauf hin kontrolliert werden, können sie hinter >>checked<< einen Anweisungsblock angeben. Folgendes Beispiel dazu wird dann im Buch geliefert. |
namespace _04_elementare_Datentypen_8
{
class Program
{
static void Main(string[] args)
{
checked
{
short shortValue = 436;
int integerValue = 1236555;
byte byteValue = (byte)shtVar;
shortValue = (short)integerValue;
Console.WriteLine(byteValue);
Console.ReadLine();
}
}
}
}
Erstens verstehe ich nicht wie ich diesen Anweisungsblock in zum Beispiel den obigen Code einfügen soll, und zweitens ist die Variable
shtVar
gar nicht definiert. Was also versucht man mir hier zu sagen?
Vielen Dank im Voraus.