VB.net String mit Zeilenumbrüchen in Visual Studio

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von nikeee13.

    VB.net String mit Zeilenumbrüchen in Visual Studio

    Hallo,

    In C# kann man Strings mit Zeilenumbrüchen durch einen Klammeraffen vor dem Hochkomma in eine Variable schreiben

    string Test = @"Das ist die erste Zeile
    Das ist die Zweite Zeile
    Dritte Zeile"

    in eine Variable Speichern.

    Gibt es soetwas auch in VB.net? Kann ich einen String ohne alle Zeilenumbrücke durch vbcrlf zu ersetzen und dadurch die Lesbarkeit zu verschlechtern in einen String schreiben?

    Danke
    lg

    tScheckSn schrieb:

    in VB.net
    gibt es so was feines nicht, aber es ginge folgendes:

    VB.NET-Quellcode

    1. Dim lines() = {"1. Zeile", _
    2. "2. Zeile", _
    3. "3. Zeile"}
    4. Dim txt = String.Join(Environment.NewLine, lines)
    5. MessageBox.Show(txt)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das hilft mir alles nichts.
    Mir geht es im Speziellen um SQL Abfragen, für die ich mir jetzt schon ein Tool gebaut habe, dass mir den Text folgendermaßen ersetzt:

    strSQL = "Select " & vbCrlf
    strSQL & = " ID, " & vbCrlf
    strSQL & = " Name, " & vbCrlf
    strSQL & = " Adresse " & vbCrlf
    strSQL & = "From tblMitarbeiter " & vbCrlf
    strSQL & = "Where " & vbCrlf
    strSQL & = " Name Like '%Irgendwas' " & vbCrlf
    strSQL & = "And geloescht <> 1 " & vbCrlf
    strSQL & = "And deaktiviert <> 1 " & vbCrlf

    Es wäre nur schön, wenn ich das in VB.net direkt durch ein Tool leicht einfügen und auch wieder herauskopieren könnte.
    Ich schreibe die DB abfragen im Management Studio vom SQL Server, da ich sie dort leichter testen kann und muss demnach immer wieder Abfragen von und nach Visual Studio kopieren.

    Danke
    lg

    PS: Zum herauskopieren setze ich einen Stoppunkt auf die Variable und kopiere dann deren inhalt.
    Bei so einfachen SQL abfragen ist das kein Problem, aber ich habe sql Abfragen mit über 100 Zeilen.

    tScheckSn schrieb:

    Mir geht es im Speziellen um SQL Abfragen
    Poste bitte mal eine vollständige Aufgabenstellung / Problembeschreibung.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Was sollen die ganzen Zeilenumbrüche bringen?
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Hi
    du musst nur xtts02s Code ergänzen:

    VB.NET-Quellcode

    1. Dim langerText = "Erste Zeile! " & vbCrLf & _
    2. "Das ist die Fortsetzung." & vbCrLf & _
    3. "u.s.w."

    Beachte, dass für Queries die Klasse System.Data.SqlClient.SqlCommand sinnvoll ist.
    Für die nicht-konstante Kombination (d.h. wo Variablen oder sonstige Nicht-Konstanten vorkommen ("bla" oder "bla" & "123" sind bspw. konstant, "bla" & myVariable.ToString() nicht, da die Auswertung von myVariable nicht bekannt ist)) von Strings empfehlen sich oftmals die Verwendung von String.Join, String.Concat oder System.Text.StringBuilder.

    Viele Grüße
    ~blaze~
    Das neue Visual Studio (2015) hat mit VB.NET 14 Support für Multiline-String-Literals.
    Vgl:
    blogs.msdn.com/b/vbteam/archiv…s-in-visual-basic-14.aspx

    Da ist's dann einfach nur:

    VB.NET-Quellcode

    1. Dim foo As String = "1. Zeile
    2. 2. Zeile
    3. 3. Zeile"


    Wenn du mit Datenbank-Backend arbeitest, wäre ja vielleicht auch Linq-To-SQL oder das EntityFramework was für dich. Ansonsten wie von Blaze vorgeschlagen mit dem SqlCommand arbeiten, besonders wegen dem Escapign der Nutzereingaben.
    Von meinem iPhone gesendet