Was sind Kommentare?
Kommentare sind erläuternde Texte im Quellcode, die Programmierern das Verständnis der Programm-Logik erleichtern. Sie gehören nicht zum ausführbaren Code; der Compiler ignoriert sämtlichen Inhalt von Kommentaren während der Kompilierung vollständig.
Zusätzlich lassen sich Kommentare zur Fehlersuche bei Debugging-Vorgängen nutzen. Wenn du die Ursache eines Programmfehlers nicht ausfindig machen kannst, markierst du verdächtige Code-Bereiche als Kommentar – der Compiler überspringt diese Zeilen, sodass du das Problem Schritt für Schritt eingrenzen kannst.
Kommentare lassen sich mit Randnotizen vergleichen, die wir früher in Schulbücher geschrieben haben: Zusätzliche Hinweise erleichtern das Verständnis des eigentlichen Textinhalts.
Arten von Kommentaren
| Kommentar-Typ | Startmarkierung | Endmarkierung | Kernregeln |
|---|---|---|---|
| Einzeiliger Kommentar Single-line | // | Ende der aktuellen Zeile | Wirkt sich nur auf die komplette Zeile aus; alles nach // auf derselben Zeile wird verworfen |
| Blockkommentar Delimited | /* | */ | Umfasst mehrere Zeilen oder Teilabschnitte innerhalb einer Zeile; Verschachtelung ist nicht erlaubt |
| Dokumentationskommentar Documentation | /// | Ende der aktuellen Zeile | Unterstützt eingebaute XML-Tags, dient der automatischen Erstellung von Projekt-API-Dokumentationen |
1. Einzeilige Kommentare //
- Alles ab dem Zeichen
//bis zum Ende der aktuellen Zeile wird vom Compiler ignoriert; - Kann am Zeilenanfang oder hinter ausführbarem Code platziert werden;
- Es gibt keine Einschränkungen bei Verschachtelung, es entstehen keine Syntaxkonflikte mit Blockkommentaren
/* */.
// Einzeiliger Kommentar am Zeilenanfang: Deklariere numerische Variable
int num = 10; // Einzeiliger Kommentar nach Code: Speichert den Zahlenwert 10
// int temp = 99; // Gesamte Zeile als Kommentar markiert für Debugging; deaktiviert Code vorläufig ohne Löschen, später einfach wiederherstellbarCode-Sprache: JavaScript (javascript)
2. Blockkommentare /* */
- Benötigt passende Start- und Endmarkierungen; sämtlicher Inhalt zwischen
/*und*/wird ignoriert; - Unterstützt mehrzeilige Umschließung sowie teilweise Kommentierung innerhalb einer Zeile;
- Verschachtelte Blockkommentare sind verboten. Der Compiler beendet den Kommentar beim ersten vorkommenden
*/, übrigbleibende einzelne*/lösen Syntaxfehler aus.
Beispiel
/*
Beispiel für einen mehrzeiligen Blockkommentar
Der Compiler überspringt sämtlichen Inhalt darin
Es lassen sich beliebig viele Zeilen mit Erläuterungen schreiben
*/
string str = "Test";Code-Sprache: JavaScript (javascript)
/*
Multi-line delimited comment example
All content here is ignored by the compiler
Text can span any number of lines
wellcome to foxdevelop.com
*/
string greet = "wellcome to foxdevelop.com";
Console.WriteLine(greet);Code-Sprache: JavaScript (javascript)

Verschachtelung löst einen Kompilierfehler aus

Wenn innerhalb eines Blockkommentars ein weiterer Blockkommentar platziert wird, besitzt die letzte Endmarkierung keine passende Startmarkierung – dies führt zu einem Kompilierfehler.
Teilkommentare innerhalb einer Zeile
Blendet nur einen Teil des Codes aus; im folgenden Beispiel ist die Variable a vollständig auskommentiert.
int /*a,*/ b;
// Entspricht int b; der Teil „a,“ zwischen den Markierungen wird bei der Ausführung ausgeschlossenCode-Sprache: JavaScript (javascript)
Fehlerhaft verschachtelter Blockkommentar
Löst einen Fehler aus
/* Äußerer Kommentar beginnt
/* Innerer verschachtelter Kommentar (nur als normaler Text erkannt, ohne Funktion) */
// Das obige erste */ schließt den äußeren Kommentar ab, das untere */ hat keine passende Startmarkierung und verursacht einen Syntaxfehler
*/Code-Sprache: JavaScript (javascript)
/* innerhalb von // aktiviert keinen Blockkommentar
Die Blockkommentar-Markierungen werden hier als einfacher Text innerhalb des einzeiligen Kommentars behandelt und wirken nicht.
// Das ist ein einzeiliger Kommentar /* das /* hier ist nur normaler Text und startet keinen Blockkommentar
int x = 5;
/* Blockkommentar öffnen */ // Der Block endet hier, das nachfolgende // funktioniert wie gewohntCode-Sprache: JavaScript (javascript)
3. Dokumentationskommentare ///
- Ähnlich wie einzeilige Kommentare, gekennzeichnet durch drei aufeinanderfolgende Schrägstriche
///; - Erlaubt eingebettete XML-Tags; IDEs und Tools lesen diese aus, um automatisiert API-Referenzdokumentationen zu erstellen;
- Üblicherweise oberhalb von Klassen, Methoden und Eigenschaften platziert, um öffentliche Schnittstellen zu dokumentieren.
/// <summary>
/// Hauptklasse, Einstiegspunkt der Anwendung
/// </summary>
class Program
{
/// <summary>
/// Einstiegsmethode des Programms
/// </summary>
/// <param name="args">Array mit Kommandozeilenargumenten</param>
static void Main(string[] args)
{
}
}Code-Sprache: JavaScript (javascript)

Zusammenfassung
- Blockkommentare
/* */lassen sich nicht verschachteln; die Auswertung des Kommentars endet sofort beim ersten gefundenen*/; - Einzeilige
//-Kommentare gelten nur für die jeweilige Zeile, überschreiten keine Zeilengrenzen; jedes darin enthaltene/*wird als normales Zeichen interpretiert; - Syntax und Verhalten von einzeiligen sowie Blockkommentaren in C# stimmen vollständig mit C/C++ überein;
- Regel für das Verfassen von Kommentaren: Wiederhole nicht die wörtliche Bedeutung des Codes, sondern erläutere vor allem fachliche Ziele und Design-Überlegungen zur Vereinfachung zukünftiger Wartung. Kommentare, die lediglich Variablennamen wiederholen, haben keinen praktischen Nutzen.
- Kurze Zeilen-Erläuterungen, vorläufiges Ausblenden einzelner Code-Zeilen → verwende
// - Massenweises Auskommentieren mehrerer Zeilen, teilweises Ausblenden von Code-Fragmenten innerhalb einer Zeile → verwende
/* */ - Dokumentation von Klassen-/Methodenschnittstellen, automatische Generierung von Projektdokumentationen → verwende
///
* Erstellen von Dokumentationsdateien
Der folgende Abschnitt dient nur als Referenz. Dokumentationskommentare werden vor allem in großen Enterprise-Projekten eingesetzt; während der Lernphase genügt es, deren Existenz zu kennen.
Vorgehensweise in Visual Studio
- Rechtsklick auf das Projekt → Eigenschaften → Reiter Erstellen (Build);
- Hake die Option an: Generate XML documentation file (XML-Dokumentationsdatei erstellen);
- Standard-Ausgabepfad:
bin\Debug\Projektname.xml, individuelle Pfade lassen sich frei festlegen; - Wähle All Configurations (Alle Konfigurationen) zum Aktivieren für Debug- und Release-Modus;
- Erstelle das Projekt neu; im Zielordner erscheint eine vollständige XML-Datei mit allen Kommentaren.
.NET CLI Befehlszeilen-Konfiguration (ohne Visual Studio)
Öffne die Projektdatei .csproj und füge folgenden Knoten ein:
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>Code-Sprache: HTML, XML (xml)
Führe den Erstellungsbefehl aus:
dotnet build
Funktionsweise
Diese XML-Datei speichert sämtliche Inhalte aus Tags wie <summary>、<param>、<returns> und dient als Datenquelle zur Generierung von Referenzdokumentationen. Zusätzlich liest Visual Studio diese Datei aus, um Kommentare in den IntelliSense-Maus-Tooltips anzuzeigen.
Weitere Dokumentationswerkzeuge
Microsoft-eigenes DocFX (von Microsoft empfohlen, erstellt statische HTML-Dokumentationswebseiten)
Sandcastle (altes Microsoft-Tool zum Erstellen offline nutzbarer CHM-Hilfedateien)
Leichte Drittanbieter-Werkzeuge (z. B. Doxygen)
Erläuterung der drei verschiedenen Kommentar-Syntaxen abgeschlossen