Was bedeutet das Wort "Literal", wenn es in Kontexten wie Literalzeichenfolgen und Literalwerten verwendet wird?
Was ist der Unterschied zwischen einem Literalwert und einem Wert?
c#
language-agnostic
terminology
glossary
prodev42
quelle
quelle
15
wörtlich fünfzehn im Programm vs,+
was die besondere Bedeutung von "zwei Dinge addieren" hat. Sie würden+
das Pluszeichen selbst nicht als Repräsentation behandeln, da es kein Literal ist.Ein Literal ist ein Wert, der direkt in Ihrer Quelle fest codiert wurde.
Zum Beispiel:
string x = "This is a literal"; int y = 2; // so is 2, but not y int z = y + 4; // y and z are not literals, but 4 is int a = 1 + 2; // 1 + 2 is not a literal (it is an expression), but 1 and 2 considered separately are literals
Einige Literale können eine spezielle Syntax haben, sodass Sie wissen, um welchen Typ es sich bei dem Literal handelt:
//The 'M' in 10000000M means this is a decimal value, rather than int or double. var accountBalance = 10000000M;
Was sie von Variablen oder Ressourcen unterscheidet, ist, dass der Compiler sie als Konstanten behandeln oder bestimmte Optimierungen mit Code durchführen kann, in dem sie verwendet werden, da sicher ist, dass sie sich nicht ändern.
quelle
Ein Literal ist eine Zuordnung zu einem expliziten Wert, z
int i = 4; // i is assigned the literal value of '4' int j = i // j is assigned the value of i. Since i is a variable, //it can change and is not a 'literal'
BEARBEITEN: Wie bereits erwähnt, hat die Zuweisung selbst nichts mit der Definition eines Literal zu tun. In meinem Beispiel habe ich die Zuweisung verwendet, aber ein Literal kann auch an eine Methode usw. übergeben werden.
quelle
Ein Literal ist, wenn Sie den Wert in den Quellcode aufnehmen (im Gegensatz zum Verweisen auf eine Variable oder eine Konstante). Zum Beispiel:
int result = a + 5; // a is a variable with a value, 5 is a literal string name = "Jeff Atwood"; // name is a variable initialized // with the string literal, "Jeff Atwood" int[] array = new int[] {1, 2, 3}; // C# has array literals (this is actually three // int literals within an array literal)
Wenn das Literal eine bestimmte Größe darstellt, wie z. B. eine physikalische Konstante, ist es besser, ihm einen Namen zu geben, als überall dort, wo Sie es benötigen, dasselbe Literal zu schreiben. Auf diese Weise wissen Sie beim Lesen des Quellcodes, was die Zahl bedeutet , was normalerweise wichtiger ist als ihr Wert (der sich sowieso ändern kann).
const int maxUsers = 100; const double gravitationalAcceleration = 9.8;
Im Allgemeinen sind die einzigen numerischen Literale, die ich verwende (außer zum Initialisieren von Konstanten wie oben), 0 oder 1 und manchmal 2, wenn ich jedes andere Element in einer Schleife überspringe. Wenn die Bedeutung der Zahl wichtiger ist als ihr tatsächlicher Wert (normalerweise), ist es besser, sie zu benennen.
quelle
Ein Literalwert ist ein Wert, aber ein Wert kann auch in einer Variablen gespeichert werden. In der Erklärung
string str = "string literal";
Es gibt eine Stringvariable (str) und ein Stringliteral. Nachdem die Anweisung ausgeführt wurde, haben beide den gleichen Wert.
Beachten Sie, dass in vielen Sprachen die Variable und der Literalwert nicht unbedingt vom selben Typ sein müssen. Zum Beispiel:
int a = 1.0;
Der obige Literalwert ist ein Gleitkommatyp. Der Wert wird vom Compiler gezwungen, in die Variable int zu passen.
In einem anderen Beispiel ist in der ersten Zeile des C ++ - Codes oben der Typ eines Zeichenfolgenliteral überhaupt nicht der Bibliothekstyp
string
. Um die Abwärtskompatibilität mit C aufrechtzuerhalten, sind Zeichenfolgenliterale in C ++ Zeichenarrays.quelle
Kurzes Beispiel:
int my_int_var = 723;
723 - Dieser Satz von Zeichen bezieht sich auf einen wörtlichen ganzzahligen Wert.
my_int_var - Dieser Zeichensatz bezieht sich auf einen variablen ganzzahligen Wert.
quelle
Ein Literal ist, wenn Sie es in den Code einfügen. Ein String-Literal ist also
string s = "SomeText";
Dies steht im Gegensatz zum Erstellen der Zeichenfolge oder zum Aufnehmen als Parameter.
quelle
Wenn jemand das Wort Literal verwendet, bedeutet dies im Allgemeinen, dass der Wert aus dem Code (Text) entzifferbar ist, wie in vielen Beispielen in anderen Beiträgen gezeigt.
Eine weitere häufige Verwendung sind Werte, die in Assembly in unmittelbare Werte konvertiert werden. Dies sind Werte, die direkt in den Maschinenbefehl eingefügt werden, anstatt Registerlasten zu erfordern.
quelle
Ein Literal ist "Quellcodedarstellung von Daten".
quelle
Ich habe String-Literale gehört, die beiläufig verwendet werden, um auf das zu verweisen, was die C # -Spezifikation tatsächlich als wörtliche String-Literale bezeichnet. Ein reguläres Zeichenfolgenliteral ermöglicht das Escapezeichen bestimmter Zeichen (mit dem Präfix a), z. B. \ t für eine Registerkarte. Einem wörtlichen Zeichenfolgenliteral wird @ vorangestellt und wörtlich verarbeitet. \ Hat keine besondere Bedeutung.
//regular string regular = "\thello world"; //verbatim string verbatim = @"C:\"; //the regular equivalent of this would be "C:\\"
quelle
Literale sind Kurzschreibweise für Werte in bestimmten Typen, die die Sprache für so wichtig oder grundlegend hält, dass sie nur für sie Syntaxzucker enthält.
Beispiel für Typen, deren Werte häufig durch Literale dargestellt werden:
Boolean = { true, false } Integer = { ..., -2, -1, 0, 1, 2, ... } Character = { 'a', 'b', ... } String = { "hello", "world", ... }
Einige Sprachen haben Literale sogar für Funktionstypen:
Integer -> Integer = { (x: Integer) => x + 2), (x: Integer) => x/2, ...}
Ein Beispiel für Werte, die normalerweise nicht mit Literalen dargestellt werden, sind Werte von Klassentypen:
Car(brand: String, seats: Integer) = { Car("BMW", 5), Car("Ferrari", 2), ...}
Hier wird der Wert
Car("BMW", 5)
im TypCar
zwar mit einer Folge von Symbolen eindeutig bezeichnet, der Wert wird jedoch nicht mit einem dedizierten Kurzliteral dargestellt, sondern es werden allgemeine (ausführliche) fiktive Mechanismen zum Bezeichnen von Werten eines beliebigen Klassentyps verwendet.Der Begriff Literal ist gleichbedeutend mit dem Begriff Wert , Instanz , konstant , Mitglied und Element eines Typs, sondern trägt ein bisschen mehr Sinn, der uns sagt , es eine Abkürzung ist es aufzuschreiben.
Ich denke gerne an Literale als ägyptische Hieroglyphen, anstatt Zeichen aus einem Alphabet aneinander zu reihen, um ein Konzept auszudrücken.
quelle