0Pricing
C# Academy · Lezione

String literal raw

Scriva in modo ordinato testi multilinea e ricchi di virgolette.

String literal raw è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 4 lezioni in totale.

Stringhe letterali raw

Una stringa letterale raw è racchiusa tra almeno tre virgolette doppie. Al suo interno, i caratteri vengono trattati letteralmente, senza elaborare gli escape.

using System;

class Program {
    static void Main() {
        string s = """Hello "World"!""";
        Console.WriteLine(s);
    }
}

Nessuna sequenza di escape

All'interno di una stringa raw, le barre rovesciate sono semplici barre rovesciate, caratteristica ideale per i percorsi dei file e i pattern regex.

using System;

class Program {
    static void Main() {
        string path = """C:\Users\Ada\file.txt""";
        Console.WriteLine(path);
    }
}

Incorporare le virgolette

Poiché il delimitatore contiene tre o più virgolette, le virgolette singole e doppie all'interno non richiedono alcun escape.

using System;

class Program {
    static void Main() {
        string json = """{"name": "Ada", "age": 30}""";
        Console.WriteLine(json);
    }
}

Stringhe raw su più righe

Per i contenuti su più righe, posizioni le virgolette di apertura e chiusura su righe separate. Il testo compreso tra esse viene preservato.

using System;

class Program {
    static void Main() {
        string text = """
        Line one
        Line two
        """;
        Console.WriteLine(text);
    }
}

Il rientro viene rimosso

Nelle stringhe raw su più righe, gli spazi bianchi prima delle virgolette di chiusura definiscono il rientro di base, che viene rimosso da ogni riga.

using System;

class Program {
    static void Main() {
        string s = """
            indented in source
            but flush in output
            """;
        Console.WriteLine(s);
    }
}

Più virgolette per evitare conflitti

Se il contenuto contiene tre virgolette, usi quattro o più virgolette nel delimitatore, così la stringa non risulta ambigua.

using System;

class Program {
    static void Main() {
        string s = """"He said """quote""" today."""";
        Console.WriteLine(s);
    }
}

Interpolazione raw

Preceda la stringa con un simbolo del dollaro per ottenere una stringa raw interpolata. Il numero di simboli del dollaro stabilisce quante parentesi graffe devono iniziare un'espressione.

using System;

class Program {
    static void Main() {
        string name = "Ada";
        string s = $"""Hello, {name}!""";
        Console.WriteLine(s);
    }
}

Doppio simbolo del dollaro per le parentesi graffe letterali

Con due simboli del dollaro, le parentesi graffe singole sono letterali e quelle doppie iniziano un'espressione: è utile per i template JSON.

using System;

class Program {
    static void Main() {
        string id = "42";
        string s = $$"""{ "id": {{id}} }""";
        Console.WriteLine(s);
    }
}

Più semplice della forma verbatim

Le stringhe raw sostituiscono molti usi della precedente forma verbatim, gestendo in modo più chiaro le virgolette e il rientro.

using System;

class Program {
    static void Main() {
        string sql = """
        SELECT *
        FROM Users
        WHERE Active = 1
        """;
        Console.WriteLine(sql);
    }
}

Ideali per i template

Le stringhe raw rendono leggibile l'inclusione di JSON, XML, HTML o SQL, perché non è necessario eseguire l'escape di nulla al loro interno.

using System;

class Program {
    static void Main() {
        string html = """<a href="/home">Home</a>""";
        Console.WriteLine(html);
    }
}

Quando usarle

Scelga le stringhe raw ogni volta che il testo contiene molte virgolette, barre rovesciate o si estende su più righe.

using System;

class Program {
    static void Main() {
        string regex = """\d{3}-\d{4}""";
        Console.WriteLine(regex);
    }
}

Verifica rapida

Verifichi la propria comprensione delle stringhe letterali raw.

Riepilogo

Le stringhe letterali raw usano tre o più virgolette doppie e trattano il contenuto letteralmente, senza sequenze di escape: sono ideali per percorsi, regex, JSON e HTML. Le versioni su più righe preservano la disposizione e rimuovono il rientro delle virgolette di chiusura.

Aggiunga altre virgolette quando il contenuto crea conflitti e anteponga simboli del dollaro per l'interpolazione: i simboli aggiuntivi modificano il modo in cui vengono interpretate le parentesi graffe.

Domande Frequenti

La lezione «String literal raw» è gratuita?

Sì — il testo completo di «String literal raw» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 4 lezioni in totale.

Cosa imparerò in «String literal raw»?

Scriva in modo ordinato testi multilinea e ricchi di virgolette. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C# Academy?

Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «String literal raw»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C# Academy?

Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Nozioni di base sull'interpolazione delle stringhe
  2. Formattazione composita con string.Format
  3. Specificatori di formato numerico e delle date
  4. String literal raw
← Torna a C# Academy