Was ist ein literal in C#?
Habe ich das richtig verstanden das ein literal einfach nur der Inhalt eines Datentyps ist? Zb
String Name="Bob";
Dann ist bob ein literal.
Wenn ich jedoch die Summe aus zwei zahlen bilde die beides variablen sind dann ist Summe kein literal?
int Summe=a+b;
Ist das korrekt? Selbstverständlich wurde a und b vorher mit irgendwelchen werten initialisiert
2 Antworten
literals sind in deinem kontext einfach code der direkt zu einem bestimmten wert evaluiert bzw. quellcode-repräsentationen eines bestimmten wertes.
wenn du im code 1 schreibst, kriegt das programm den wert 1
wenn du im code "bob" schreibst, kriegt dein programm den wert bob
wenn du true schreibst, kriegt dein programm (in tieferen schichten) den wert 1/true
folglich sind im code nicht-literals, code der nicht im programm direkt zu einem wert evaluiert.
@ code vs "@" literal
var a = true; literal wird genutzt um variable zu initialisieren
der bezeichner a repräsentiert keinen bestimmten wert sondern er referenziert irgendwas im quellcode
"a" hingegen repräsentiert auf code-ebene den buchstaben a
da du es nicht verstanden hast hab ich meine antwort nochmal bearbeitet
Unter einem Literal versteht man (programmiersprachenabhängig) eine Zeichenfolge, die unabhängig von konkreten Programmen einen ganz bestimmten Datenwert darstellt (aber nicht als Identifier gilt).
In allen Sprachen der C-Familie etwa sind 1.0, aber z.B. auch 1.00, Literale, unter denen die Zahl 1 als Gleitkommazahl zu verstehen ist.
Und wann ist es kein literal? Wenn der Wert errechnet wird? Wie wird ein wert denn indirekt initialisiert?