Feedback

C# - Zeilennummern zum Text hinzufügen

Veröffentlicht von am 06.08.2007
(1 Bewertungen)
Diese Methode fügt dem übergeben String Zeilennummern hinzu. Ideal z.B. für Quellcodedarstellung in einer RichTextBox.
GFU-Schulungen  [Anzeige]

VB.NET 2017/2015/2013 Komplett

Ziel des Seminars ist der flexible Umgang mit VB.NET, wie z.B. die damit verbundene eigenständige Entwicklung von Programmen oder das Verwenden von Datenbanken.

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

/// <summary>
/// Adds the line numbers to text.
/// </summary>
/// <param name="text">The text.</param>
/// <returns></returns>
private string AddLineNumbersToText(string text)
{
    StringBuilder sb = new StringBuilder();
    string[] splitStrings = {"\r\n", "\r", "\n"};
    string[] lines = text.Split(splitStrings, StringSplitOptions.None);
    int lineCounter = 0;

    foreach (string s in lines)
    {
        sb.Append(lineCounter.ToString());
        sb.Append(":\t");
        sb.Append(s);
        sb.Append(Environment.NewLine);
        lineCounter++;
    }
    return sb.ToString();
}
Abgelegt unter Zeilennummern, Text, Editor.

2 Kommentare zum Snippet

Koopakiller schrieb am 18.01.2013:
Interesantes Snippet :)
Kleine Fehlerkorrektur: Die Trennzeichen müssen \r\n als 1. Eintrag enthalten:
string[] splitStrings = {"\r\n", "\r", "\n" };

Sonst könnten Leerzeilen in der Ausgabe landen, die dort nichts zu suchen haben.

Weil es mich interessierte testete ich ob der Code mit foreach oder mit einer for-Schleife schneller geht. foreach gingen ca. 10-20% schneller ;) Bei weniger als 1000 Zeilenumbrüchen allersings gab es keinen Unterschied im Millisekundenbereich.
Jan Welker schrieb am 18.01.2013:
Hallo Koopakiller,
danke für den Kommentar. An den Snippet kann ich mich ehrlich gesagt nicht mehr erinnern. Ich habe mal nachgesehen, den habe ich im August 2007 veröffentlicht :-)
Deine Fehlerkorrektur werde ich gleich übernehmen.
Jan
 

Logge dich ein, um hier zu kommentieren!