Lädt...

Variablen

Console.WriteLine(plant) schreibt leaf, und die Schreibzeile hat keine Anführungszeichen. Das Wort leaf steht auf der Speicherzeile, unter dem Namen plant. Bisher saß das Wort zwischen Anführungszeichen auf der Schreibzeile selbst, also bedeutete ein anderer Bildschirm, diese Zeile zu bearbeiten. Die Anführungszeichen wandern auf die Zeile, die das Wort speichert. Der Bildschirm zeigt weiterhin leaf. Behalte die öffentliche Klasse Pine. Du installierst das SDK nicht noch einmal.

Ein Name hält die Buchstaben

Öffne die Pine-Datei. Der Klassenname bleibt Pine. Diese Seite benennt den Typ nicht um. Innerhalb von Main, oberhalb der Schreibzeile, füge eine Zeile hinzu, die einen Namen anlegt und ein Wort darin speichert: string plant = "leaf";. Das Schlüsselwort string sagt, dass dieser Name Buchstaben hält. plant ist der Name und beginnt mit kleinem p. Das = speichert das Wort. Die Anführungszeichen halten leaf, alles klein, dasselbe Wort, das die letzte Seite auf die Schreibzeile gesetzt hat. Das Semikolon beendet diese Zeile. Dann ändere die Schreibzeile so, dass sie keine Anführungszeichen mehr hat. Sie wird zu Console.WriteLine(plant);. Der Name plant ist nackt. Vor dem p steht kein Anführungszeichen und nach dem t keines. Speichere die Datei.

Die Datei, die du behältst

Behalte diese Lehrform. Der Name plant hält leaf. Die Schreibzeile nutzt diesen Namen und enthält keine Anführungszeichen.

the file you keep

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = "leaf";
        Console.WriteLine(plant);
    }
}

Lies von oben und entscheide, was der Bildschirm empfangen kann. using System; bereitet kurze Namen vor und schreibt den Bildschirm nicht. public class Pine benennt den Typ. Es schreibt den Bildschirm nicht. public static void Main() ist der Start der Laufzeit. Keines dieser Wörter sind Buchstaben für den Bildschirm. Die nächste Zeile legt den Namen an. string plant = "leaf"; speichert die Buchstaben l, e, a, f im Namen plant. Diese Zeile schreibt jene Buchstaben nicht auf den Bildschirm. Speichern ist nicht Schreiben. Der Bildschirm bleibt durch diese Zeile leer. Die folgende Zeile, Console.WriteLine(plant);, ist die Schreibzeile. C# liest den Namen plant, nimmt die Buchstaben, die dieser Name hält, schreibt sie und beendet die Zeile. Der Bildschirm zeigt leaf. Eine Zeile. Keine Anführungszeichen. Die Buchstaben des Namens plant stehen nicht auf dem Bildschirm. Console steht nicht auf dem Bildschirm. Das Semikolon steht nicht auf dem Bildschirm.

Starte es mit dotnet run. Der Bildschirm zeigt leaf. Wenn der Bildschirm plant zeigt, hat die Schreibzeile Anführungszeichen um plant. Die Datei, die du behältst, hat das nicht. Wenn der Bildschirm noch ein zitiertes Wort von der letzten Seite zeigt, nutzt die Schreibzeile noch Anführungszeichen statt des nackten Namens. Sieh dir die Buchstaben zwischen den Anführungszeichen auf der string-Zeile an und prüfe, ob die Schreibzeile den nackten Namen nutzt. Du installierst das .NET SDK nicht neu für einen Bildschirm, der das falsche Wort zeigt.

Speicherzeile und Schreibzeile

Halte die beiden Aufgaben leicht unterscheidbar.

📊 Variable habits for plant

Line Job Screen
string plant = "leaf"; stores letters in the name nothing from this line
Console.WriteLine(plant); writes the letters the name holds leaf
Console.WriteLine("plant"); writes the quoted letters plant
plant = "stem"; replaces the stored letters nothing from this line alone

Ändere das Wort, lass die Schreibzeile stehen

Der Sinn des Namens ist, dass die Schreibzeile stehen bleiben kann, während sich das gespeicherte Wort ändert. Unter der ersten Schreibzeile speichere ein neues Wort im selben Namen und schreibe den Namen dann erneut. Die neue Speicherzeile lautet plant = "stem";. Sie beginnt nicht mit string. plant existiert schon, also ersetzt diese Zeile nur die Buchstaben, die der Name hält. leaf wird durch stem ersetzt, alles klein. Die nächste Schreibzeile ist wieder Console.WriteLine(plant);. Sie hat dieselbe Form wie die erste Schreibzeile. Der Bildschirm hat jetzt zwei Zeilen, weil jedes WriteLine seine Zeile beendet. Die erste Zeile ist leaf, aus den Buchstaben, die der Name in dem Moment hielt. Die zweite Zeile ist stem, aus den Buchstaben, die der Name nach plant = "stem"; hält.

Das ist die zweite Datei. Es ist nicht die Datei, die du behältst. Die Datei, die du behältst, hat eine Speicherzeile und eine Schreibzeile, und ihr Bildschirm ist leaf. Nutze diese zweite Form, wenn du die Wortänderung sehen willst, und setze danach die einzelne Speicherzeile und die einzelne Schreibzeile wieder.

the name changes between two lines

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = "leaf";
        Console.WriteLine(plant);
        plant = "stem";
        Console.WriteLine(plant);
    }
}

Starte dotnet run. Der Bildschirm zeigt leaf, und die nächste Bildschirmzeile ist stem. Zwei Zeilen. leaf steht oben, weil das erste Console.WriteLine(plant); läuft, während plant noch leaf hält. stem steht darunter, weil das zweite Console.WriteLine(plant); nach plant = "stem"; läuft. Der Name plant steht auf keiner Bildschirmzeile. Wenn beide Bildschirmzeilen leaf sagen, fehlt die zweite Speicherzeile oder sie sagt noch "leaf". Wenn beide stem sagen, sagt die erste Speicherzeile schon "stem", oder die erste Schreibzeile sitzt unter der Änderung. Der Bildschirm folgt der Reihenfolge der Zeilen in der Datei.

Schreibe string nicht ein zweites Mal für denselben Namen. string plant = "stem"; unter einer Zeile, die plant schon angelegt hat, ist ein anderer Fehler. Diese Zeile versucht, plant erneut anzulegen. Der Build schreibt einen Fehler und bleibt nicht still. Die Reparatur ist, das zweite string zu löschen und plant = "stem"; zu lassen. Der Name wird einmal angelegt. Spätere Zeilen ändern nur die Buchstaben, die er hält. In der Datei, die du behältst, gibt es überhaupt keine zweite Speicherzeile.

Anführungszeichen um den Namen schreiben den Namen

Die Schreibzeile in der Datei, die du behältst, lautet Console.WriteLine(plant); ohne Anführungszeichen. Setzt du Anführungszeichen um den Namen, lautet die Zeile Console.WriteLine("plant");. Diese Anführungszeichen tun, was Anführungszeichen auf der letzten Seite taten. Sie markieren Buchstaben für den Bildschirm. Die Buchstaben dazwischen sind p, l, a, n, t. C# sucht den Namen nicht, weil ein zitiertes Wort kein Name ist. Der Name plant kann auf der Zeile darüber weiterhin leaf halten, und der Bildschirm zeigt trotzdem plant. Das gespeicherte Wort leaf wird nicht geschrieben, weil die Schreibzeile den Namen nie genutzt hat.

Das ist die dritte Datei. Es ist nicht die Datei, die du behältst. Behalte sie nur so lange, bis du die einzelne Zeile plant siehst, und nimm die Anführungszeichen dann wieder von der Schreibzeile.

the name written in quotes

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = "leaf";
        Console.WriteLine("plant");
    }
}

Starte dotnet run. Der Bildschirm zeigt plant. Eine Zeile. Keine Anführungszeichen. Nicht leaf. Nicht stem. Wenn du leaf wolltest, muss die Schreibzeile der nackte Name Console.WriteLine(plant); sein. Die Anführungszeichen gehören auf die Speicherzeile, um leaf, nicht um den Namen auf der Schreibzeile. Mappe übrig gebliebene Java-String-Gewohnheiten auf dieser Seite auf das C#-Schlüsselwort string. Halte erfundene ASP.NET-Routen von dieser Seite fern.

Der Name muss zuerst existieren

C# liest die Datei von oben. Die Zeile, die den Namen anlegt, muss oberhalb der Zeile stehen, die den Namen nutzt. Setzt du zuerst Console.WriteLine(plant); und schreibst erst danach string plant = "leaf";, nennt die Schreibzeile plant, bevor plant existiert. Der Build schreibt einen Fehler. Er bleibt nicht still. Es gibt keinen Bildschirm, dem du vertrauen kannst, während der Build einen Fehler schreibt. Die Reparatur ist, die string-Zeile wieder über die Schreibzeile zu setzen.

Diese vierte Datei ist die kaputte Reihenfolge. Es ist nicht die Datei, die du behältst. Behalte sie nur, bis der Build den Fehler schreibt, und setze die string-Zeile dann wieder nach oben.

the name used before it exists

csharp
using System;

public class Pine
{
    public static void Main()
    {
        Console.WriteLine(plant);
        string plant = "leaf";
    }
}

Der Bildschirm ist das Wort, das der Name hält

Du kannst jetzt ein Wort in einem Namen speichern und dieses Wort schreiben, ohne das Wort auf die Schreibzeile zu setzen. string plant = "leaf"; speichert leaf. Console.WriteLine(plant); schreibt leaf und beendet die Zeile. Ein späteres plant = "stem"; ändert das gespeicherte Wort, und ein späteres WriteLine desselben Namens schreibt stem. Anführungszeichen um den Namen schreiben stattdessen die Buchstaben des Namens. Die Anlegezeile muss oberhalb der ersten Zeile sitzen, die den Namen nutzt. Die nächste Seite liest ein Wort, das du tippst, während das Programm läuft, und speichert dieses Wort in einem Namen, damit der Bildschirm Buchstaben zeigen kann, die nicht zwischen Anführungszeichen in der Datei standen.

🧠 Testen Sie Ihr Wissen

Bereit zum Start

Testen Sie Ihr Wissen

Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen

❓
6
Fragen
🎯
70%
Zum Bestehen
♾️
∞
Zeit
🔄
∞
Versuche

📝 Anweisungen

  • Lesen Sie jede Frage sorgfältig
  • Wählen Sie die beste Antwort für jede Frage
  • Sie können das Quiz so oft wiederholen, wie Sie möchten
  • Ihr Fortschritt wird oben angezeigt