Typanforderungen in C♯
Das Literal nach einem Vorzeichenoperator »-« muß einen passenden Zahlentyp (einen numerischen Typ), wie »int«, »decimal« oder »double« haben (es muß numerisch sein), ein Literal mit dem Typ »string« ist dort nicht erlaubt.
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( -"65" ); }}- Fehlermeldung
Program.cs(4,7): error CS0023: Operator '-' cannot be applied to operand of type 'string'
- Fehlermeldung (übersetzt)
Program.cs(4,7): Fehler CS0023:
Der Operator '-' kann nicht auf einen Operanden vom Typ "string" angewendet werden.
Wir sehen hier, wie Datentypen helfen, Fehler in Programmen automatisch zu erkennen! Die Prüfung auf passende Typen durch den Compiler wird auch als statische Typsicherheit bezeichnet.
Außerdem sieht man, daß Fachbegriffe, wie „String“ oder „Operand“, in Fehlermeldungen verwendet werden. Dies ist eine Motivation zum Erlernen dieser Fachbegriffe.
Typanforderungen werden nicht schon durch die Syntax einer Sprache ausgedrückt, sondern gelten noch zusätzlich.
Übungsfragen
? Übungsfrage
Welche der folgende Ausdrücke erfüllen nach dem oben Gesagten die Typanforderungen für einen Vorzeichenausdruck?
A »-2«
B »-2.0«
C »-"2"«